Go の基本: 関数
7291 ワード
前回の記事では、変数と定数の構文について説明しました.それでは、Go の関数の構文とそのバリエーションを見てみましょう.
関数は
前回の記事で関数の構文を見たことがあるかもしれません.もう一度見てみましょう.
関数は、戻り値の型 タイプ 関数本体は中括弧で囲まれています return ステートメントは、式の値を返すために使用されます. 関数の呼び出しは単純です
次に、関数構文のいくつかのバリエーションを見てみましょう.
複数のパラメータを持つ関数
どちらのパラメーターも
さまざまなタイプのパラメーターを持つ関数
この関数は 3 つのパラメーターを受け入れます.最初の 2 つは
パラメーターが次の型とは異なる型の場合、その型を宣言することが必須です.
複数の戻り値を持つ関数
Java などの他の言語とは異なり、関数から複数の値を返すことができます.そのためには、すべての戻り値の戻り値の型をタプルとして定義する必要があります.
2 つの戻り値が宣言されています.どちらもタイプは
関数呼び出しが
名前付きの戻り値を持つ関数
戻り値は
これは、関数の最後まで戻り値を保持する一時変数を作成する場合に便利です.
可変数のパラメーターを持つ関数
この関数は、可変数のパラメーターを受け入れます.パラメータのタイプは
関数呼び出しで、5 つの値を送信したことに注目してください.
注: for ループの
これにより、Go での関数構文のアイデアが得られるはずです. Go 構文の詳細については、しばらくお待ちください.
読んでくれてありがとう.私とつながりたい場合は、 Twitter で私を見つけることができます.
機能
関数は
func
キーワードを使用して宣言されます.前回の記事で関数の構文を見たことがあるかもしれません.もう一度見てみましょう.
// function that takes two integers and returns their sum
func square(a int) int {
return a*a
}
//main function calling square
func main() {
fmt.Println(square(2))
}
int
と関数名 square
で宣言されています. a
のパラメーター int
が 1 つあります. {}
. square(2)
- 他の言語と同様です. 次に、関数構文のいくつかのバリエーションを見てみましょう.
複数のパラメータを持つ関数
func add(a, b int) int {
return a + b
}
どちらのパラメーターも
int
型であるため、コンマ区切りで宣言できます.さまざまなタイプのパラメーターを持つ関数
func add(a, b int, c float64) int {
return a + b + int(c)
}
この関数は 3 つのパラメーターを受け入れます.最初の 2 つは
int
型で、最後の 2 つは float64
型です.パラメーターが次の型とは異なる型の場合、その型を宣言することが必須です.
複数の戻り値を持つ関数
Java などの他の言語とは異なり、関数から複数の値を返すことができます.そのためには、すべての戻り値の戻り値の型をタプルとして定義する必要があります.
func sumAndDiff(a, b int) (int, int) {
return a + b, a - b
}
//main function calling add
func main() {
sum, difference := sumAndDiff(10, 5)
fmt.Println(sum, difference)
}
2 つの戻り値が宣言されています.どちらもタイプは
int
です. return ステートメントに注目してください.これは 2 つの値を返します.関数呼び出しが
sumAndDiff(10, 5)
と記述され、2 つの戻り値が変数 sum
と difference
に割り当てられていることに注目してください.名前付きの戻り値を持つ関数
func sumAndDiff(a, b int) (sum int, difference int) {
sum = a + b
difference = a - b
return
}
戻り値は
sum
および difference
という名前で宣言されています. return ステートメントは、変数 sum
および difference
の値を返しますが、それらについて言及する必要はありません.これは、関数の最後まで戻り値を保持する一時変数を作成する場合に便利です.
可変数のパラメーターを持つ関数
func add(nums ...int) int {
sum := 0
//loop over nums and add them to sum
for _, num := range nums {
sum += num
}
return sum
}
//main function calling add
func main() {
fmt.Println(add(1, 2, 3, 4, 5))
}
この関数は、可変数のパラメーターを受け入れます.パラメータのタイプは
int
です....
演算子は、関数が可変数のパラメーターを受け入れることを示すために使用されます.関数呼び出しで、5 つの値を送信したことに注目してください.
注: for ループの
_
は、返される数値のインデックスのプレースホルダーです. for
ループのバリエーションについては後で詳しく説明します.これにより、Go での関数構文のアイデアが得られるはずです. Go 構文の詳細については、しばらくお待ちください.
読んでくれてありがとう.私とつながりたい場合は、 Twitter で私を見つけることができます.
Reference
この問題について(Go の基本: 関数), 我々は、より多くの情報をここで見つけました https://dev.to/abh1navv/go-syntax-functions-4gh7テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol