言語関数を行きます
この関数は、タスクを実行するためのコードの基本ブロックです。
言語少なくとも、main()関数を移動します。
あなたは、タスクを指定された各機能を実行するための機能論理を介して別の機能を分割することができます。
関数宣言は、コンパイラの関数名、戻り値の型、およびパラメータを指示します。
言語の標準ライブラリが使用できる組み込みのさまざまな機能を提供する移動します。 たとえば、LEN()関数は、引数の種類を受け入れ、長さの型を返しますすることができます。 私たちは、文字列の文字列の長さが返される渡した場合、着信番号の場合、この関数は配列に格納されている数を返します。
関数定義
言語の関数は次の形式で定義されて行きます。
func function_name( [parameter list] ) [return_types] { 函数体 }
分析関数定義:
- FUNC:関数は、FUNCして文を開始します
- FUNCTION_NAME:関数名、関数名とパラメータリストは、一緒に関数のシグネチャを構成しています。
- パラメータリスト]:パラメータのリスト、プレースホルダとしてパラメータ、関数が呼び出されたとき、あなたはパラメータに値を渡すことができ、この値は実パラメータと呼ばれています。 パラメータリストは、パラメータの型、順序、およびパラメータの数を指定します。 パラメータはオプションで、その関数はパラメータを含めることはできません。
- return_types:戻り値の型、関数が値を返します。 return_types列値のデータ型です。 一部の機能は、ケースを必要としないreturn_typesた値を、返す必要はありません。
- 関数の本体:コードの関数定義されたセット。
例
次の例では、最大()関数のコードは、関数は2つの整数パラメータNUM1とNUM2を渡され、これら2つのパラメータの最大値を返します。
/* 函数返回两个数的最大值 */ func max(num1, num2 int) int { /* 声明局部变量 */ var result int if (num1 > num2) { result = num1 } else { result = num2 } return result }
関数呼び出し
あなたが関数を作成するときは、変更機能を呼び出すことによって割り当てられたタスクを実行するために何をなすべきかの関数を定義します。
例えば、関数の引数と戻り値を渡して、関数を呼び出します。
package main import "fmt" func main() { /* 定义局部变量 */ var a int = 100 var b int = 200 var ret int /* 调用函数并返回最大值 */ ret = max(a, b) fmt.Printf( "最大值是 : %d\n", ret ) } /* 函数返回两个数的最大值 */ func max(num1, num2 int) int { /* 定义局部变量 */ var result int if (num1 > num2) { result = num1 } else { result = num2 } return result }
上記の例は、メイン()関数max()関数で呼び出し、その結果は次のとおりです。
最大值是 : 200
関数の戻り値複数の値
例えば、複数の値を返すことができる機能を行きます:
package main import "fmt" func swap(x, y string) (string, string) { return y, x } func main() { a, b := swap("Mahesh", "Kumar") fmt.Println(a, b) }
結果の上記の例の実装:
Kumar Mahesh
関数の引数
関数パラメータ場合、変数は、関数のパラメータと呼ぶことができます。
本体内のローカル変数の関数で定義されているパラメータ。
関数を呼び出し、次の2つの方法でパラメータを渡すことができます。
配信タイプ | 説明 |
---|---|
値の転送 | 関数のパラメータを変更することができれば、実際のパラメータに影響を与えないように関数を呼び出すと、コピー機能に渡される実際のパラメータを参照する場合に値が渡されます。 |
参照によって渡されます | 参照渡しは、関数の呼び出しは関数に実パラメータのアドレスを渡し、その関数が実行パラメータを変更するには、実際のパラメータに影響を与えるときのことをいいます。 |
呼び出しが実際のパラメータには影響しません時にデフォルトでは、囲碁の言語は、つまり、値によって渡されます。
機能の使用状況
機能の使用状況 | 説明 |
---|---|
値としての関数 | 関数が使用する値として定義された後、 |
クロージャ | クロージャは、匿名関数は動的プログラミングに使用することができるされています |
ウェイ | この方法は、受信者が含まれている機能であります |