Go言語の機能
関数は、タスクを実行するコードの基本ブロックです。
Go言語には少なくともmain()関数があります。
関数を通じてさまざまな関数を分割できます。論理的には、各関数が指定されたタスクを実行します。
関数宣言は、関数の名前、戻り値の型、パラメーターをコンパイラーに伝えます。
Go 言語の標準ライブラリには、使用できるさまざまな組み込み関数が用意されています。たとえば、len() 関数はさまざまな型の引数を受け入れ、その型の長さを返すことができます。文字列を渡すと、文字列の長さが返されます。数値を渡すと、配列に含まれる関数の数が返されます。
関数定義
Go言語の関数定義形式は以下の通りです:
func function_name( [parameter list] ) [return_types] { 函数体 }
関数定義解析:
func: funcから始まる関数を宣言します
function_name: 関数名、関数名とパラメータ リストが一緒になって関数シグネチャを構成します。
パラメータリスト]:パラメータリスト。パラメータはプレースホルダのようなもので、関数が呼び出されるときに値をパラメータに渡すことができます。この値は実際のパラメータと呼ばれます。パラメーター リストでは、パラメーターのタイプ、順序、およびパラメーターの数を指定します。パラメーターはオプションです。つまり、関数にパラメーターを含めないこともできます。
return_types: 戻り値の型。関数は値のリストを返します。 return_types は列値のデータ型です。一部の関数は戻り値を必要としません。その場合、return_types は必要ありません。
関数本体: 関数によって定義されたコードのコレクション。
例
次の例は、2 つの整数パラメータ num1 と num2 を渡し、これら 2 つのパラメータの最大値を返す max() 関数のコードです。関数が何を行う必要があるかを定義するときは、関数を呼び出して、指定されたタスクを実行します。
関数を呼び出し、その関数にパラメータを渡し、値を返します。例:
/* 函数返回两个数的最大值 */ func max(num1, num2 int) int { /* 声明局部变量 */ var result int if (num1 > num2) { result = num1 } else { result = num2 } return result }
上記の例は、main() 関数で max() 関数を呼び出し、実行結果は次のようになります:
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 }関数は複数の値を返しますGo 関数複数の値を返すことができます。例:
最大值是 : 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) }関数パラメータ関数がパラメータを使用する場合、変数は関数の仮パラメータと呼ばれます。
仮パラメータは、関数本体で定義されるローカル変数のようなものです。
関数を呼び出すとき、パラメーターは次の 2 つの方法で渡すことができます:
転送タイプ参照渡し | |||||||
デフォルトでは、Go 言語は値の受け渡しを使用します。つまり、実際のパラメーターは呼び出し中に影響を受けません。 関数の使用法
|