Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android layout 没有';我不知道在哪里使用Void函数和Return-type函数_Android Layout_Flutter_Dart - Fatal编程技术网

Android layout 没有';我不知道在哪里使用Void函数和Return-type函数

Android layout 没有';我不知道在哪里使用Void函数和Return-type函数,android-layout,flutter,dart,Android Layout,Flutter,Dart,我对编程非常陌生,在学习Dart函数时,我遇到了一个程序,它有返回值,但我不明白是什么让它们使用不同的函数,一个有返回值,另一个没有返回值。 这两个程序都将在主程序期间调用,并且两个子程序都会在不返回任何值的情况下完成任务(至少我没有看到类似的情况), 有人能指出为什么要使用返回类型函数吗 import (....) void main() => runApp(XylophoneApp()); class XylophoneApp extends StatelessWidget {

我对编程非常陌生,在学习Dart函数时,我遇到了一个程序,它有返回值,但我不明白是什么让它们使用不同的函数,一个有返回值,另一个没有返回值。 这两个程序都将在主程序期间调用,并且两个子程序都会在不返回任何值的情况下完成任务(至少我没有看到类似的情况), 有人能指出为什么要使用返回类型函数吗

import (....)

void main() => runApp(XylophoneApp());

class XylophoneApp extends StatelessWidget {

//Void Fuction
  void player(int songNumber) {
    final player = AudioCache();
    player.play('note$songNumber.wav');
  }

//Function with return
  Expanded buildKey({colors, songNumber}) {
    return Expanded(
      child: FlatButton(
        color: colors,
        onPressed: () {
          player(songNumber);
        },
      ),
    );
  }

//Call in main function
buildKey(colors: Colors.red, songNumber: 1),

XylophoneApp.player
函数不返回任何值,因为它是一个
void
函数(它只会播放声音),
XylophoneApp.buildKey
函数将返回类型为
Expanded
的值,然后由您决定是否使用返回的值。

木琴播放器函数不返回任何值,因为它是一个
void
函数(它只会播放声音),
木琴.buildKey
函数将返回一个
Expanded
类型的值,然后由您决定是否使用返回值。

方法
player
只播放一首歌曲并返回给调用者,即不向调用者方法返回任何值。因此返回类型为
Void

然而,
buildKey
方法创建了一个需要在UI中呈现的按钮。
buildKey
方法是创建一个小部件,它是一个扁平按钮,单击该按钮时播放一首歌曲。此方法返回此按钮,该按钮需要放置在小部件层次结构中,以便颤振在屏幕上呈现

方法
player
只是播放一首歌曲并返回给调用者,即不向调用者方法返回任何值。因此返回类型为
Void

然而,
buildKey
方法创建了一个需要在UI中呈现的按钮。
buildKey
方法是创建一个小部件,它是一个扁平按钮,单击该按钮时播放一首歌曲。此方法返回此按钮,该按钮需要放置在小部件层次结构中,以便颤振在屏幕上呈现

一般而言,功能(不仅在dart中)由3部分组成:

  • 输入
  • 过程
  • 输出
这就像在数学中,例如,如果你有(y=x+1)。这是一个函数,它将“x”作为输入,然后对“x”执行一个进程,该进程将“1”添加到“x”,然后将输出返回到“y”。在这个简单的示例中,输入类型是数字,输出类型也是数字。然而,在编程中,情况可能并不总是如此。例如,您可以使用一个函数,将一个单词作为输入,然后计算该单词中的字符数并返回该单词中的字符总数。但也许你不需要知道那个号码。也许您只需要将其存储在数据库中,稍后再返回。在这种情况下,函数将不必返回数字或任何内容。它应该只保存到数据库中。如果数据库中已经有了这个词,但没有它的长度,那该怎么办。在这种情况下,您的函数不必将单词作为输入,它应该自己进入数据库,获取单词,计算字符数,并将结果保存在数据库中。你看,从根本上说,我们仍然有一个输入、过程和输出,但是输入和输出并不是直接传递给函数,也不是直接传递给函数,函数负责获取输入,返回就是输出。所以这实际上取决于你想要你的函数做什么


关于你发布的代码。查看
play
函数,它将
songNumber
作为输入,其类型为
int
,然后它会进行一些处理,比如创建一个
Player
对象,并使用
songNumber
作为实际歌曲文件名的一部分。然后它的输出是扬声器播放的歌曲。您听到的声音是实际输出。除了声音,您不需要任何其他输出。这就是为什么在代码中返回
void
。另一方面,第二个函数
buildKey
的输出是一个
widget
类型的
Expanded
,可以在内部使用它来编码
buildKey
函数还将
color
songNumber
作为输入。正在创建内部
buildKey
扩展的
小部件。在该小部件内部,也正在创建
FlatButton
。第一个输入(
color
)用于指定
FlatButton
颜色,而第二个输入(
songNumber
)通过
FlatButton
功能
ON按下
功能当按下按钮触发时,它将调用
播放器
功能,给它以前传递的
歌曲编号

一般功能-不仅在dart中-由三部分组成:

  • 输入
  • 过程
  • 输出
这就像在数学中,例如,如果你有(y=x+1)。这是一个函数,它将“x”作为输入,然后对“x”执行一个进程,该进程将“1”添加到“x”,然后将输出返回到“y”。在这个简单的示例中,输入类型是数字,输出类型也是数字。然而,在编程中,情况可能并不总是如此。例如,您可以使用一个函数,将一个单词作为输入,然后计算该单词中的字符数并返回该单词中的字符总数。但也许你不需要知道那个号码。也许您只需要将其存储在数据库中,稍后再返回。在这种情况下,函数将不必返回数字或任何内容。它应该只保存到数据库中。如果数据库中已经有了这个词,但没有它的长度,那该怎么办。在这种情况下,您的功能不必