gpt4 book ai didi

function - Dart 编程语言中的函数和方法有什么区别?

转载 作者:IT王子 更新时间:2023-10-29 07:07:57 26 4
gpt4 key购买 nike

我是 Dart 和 Flutter 的新手,我想知道它们之间的实际区别以及何时使用哪个。

最佳答案

函数是在类外部声明的顶级函数,或者是在另一个函数或方法内部创建的内联函数。

方法与类的实例相关联,并隐式引用 this

ma​​in.dart

// function
void foo() => print('foo');

// function
String bar() {
return 'bar';
}

void fooBar() {
int add(int a, int b) => a + b; // inline function

int value = 0;
for(var i = 0; i < 9; i++) {
value = add(value, i); // call of inline function
print(value);
}
}

class SomeClass {
static void foo() => print('foo'); // function in class context sometimes called static method but actually not a method

SomeClass(this.firstName);

String firstName;

// a real method with implicit access to `this`
void bar() {
print('${this.firstName} bar');
print('$firstName bar'); // this can and should be omitted in Dart

void doSomething() => print('doSomething'); // inline function declared in a method

doSomething(); // call of inline function
}
}

与内联函数一样,您也可以创建未命名的内联函数,也称为闭包。它们通常用作回调,例如

button.onClick.listen( /* function start */ (event) {
print(event.name);
handleClick();
} /* function end */);

关于function - Dart 编程语言中的函数和方法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53562578/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com