🕺
fuctionの種類
大まかに3種類のfunctionが存在することに気づいた。
・戻り値がない関数(void)
・戻り値がある関数
・匿名関数(無名関数、ラムダ関数)
戻り値がない関数
voidで定義される。ただ単に処理だけを行う関数。
void printSum(double number1, double number2) {
print(number1 + number2);
}
戻り値がある関数
関数内の処理が終わったら、結果が返ってくる.
戻り値のある関数は、特定の型が返ってくるように定義をする。
double sum(double number1, double number2) {
double result = number1 + number2
return result;
}
匿名関数(無名関数、ラムダ関数)
名前を持たない関数で、その場で処理を定義する。
一つの処理だけであれば、下記のように書ける
var sum(int number1,int number2) => number1 + number2;
void main() {
// 5
print(sum(3,2));
}
複数の処理を書くとき
var sumMultiply = (int number1,int number2) {
int sum = number1 + number2;
return sum * sum;
};
void main() {
// 25
sumMultiply(3,2);
}
関数を変数に入れる注意点
変数に匿名関数のような関数を代入している場合、関数を参照している。
関数そのものを参照する:
void main() {
var sum = () => 2 + 3;
// Closure: () => int
print(sum);
}
関数を値そのものとして、表示しようとするので
print(sum);では、Closure: () => intという結果になる。
関数呼び出す:
void main() {
var sum = () => 2 + 3;
// 5
print(sum());
}
変数に関数を代入して、関数として扱いたいときは、
変数() とすることで、処理を実行できる。
コールバック関数について
コールバック関数とは、関数の引数として渡される関数のこと。
→ 関数の内部であとから呼び出される関数
function print(callback){
const result = callback();
console.log(result);
}
function fn(number) {
return number * 2;
}
print(fn(2)); // 4
Discussion