Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Passing Arrays into Functions | 配列とスライス
Go入門

bookPassing Arrays into Functions

メニューを表示するにはスワイプしてください

配列を関数に渡すことができるのは有用な機能であり、特にローカルで宣言された配列を他のスコープ内で利用したい場合に役立ちます。

関数の配列引数の一般的な構文は次のとおりです:

argName [expectedArraySize] dataType

これを関数で実装すると、次のようになります:

index.go

index.go

copy
123
func myFunc(arr [5] int) { // code here }

次の例は、配列を関数に渡して使用する方法を示しています。

index.go

index.go

copy
123456789101112131415
package main import "fmt" func sumOfAll(arr [10] int) int { total := 0 for i := 0; i < 10; i++ { total += arr[i] } return total } func main() { var numbers = [10] int { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 } fmt.Printf("Sum: %d", sumOfAll(numbers)) }

Go(Golang)では、配列は常に値渡しで関数に渡されます。つまり、配列を関数に渡すと、関数内で元の配列のローカルコピーが作成されます。そのため、関数内で配列を変更しても、元の配列には影響しません。関数内でアクセスされるデータは、元の配列のコピーだからです。

次のプログラムは、関数内で配列を変更しても元の配列に影響しないことを示しています。

index.go

index.go

copy
12345678910111213
package main import "fmt" func myFunc(nums [3] int) { nums[1] = 10 } func main() { var values = [3] int {1, 2, 3} fmt.Println("Before:", values) myFunc(values) fmt.Println("After: ", values) }

注意

値渡しとは対照的に、参照渡しという概念があり、配列や変数への参照が関数に渡されます。そのため、関数内で値を変更すると元の値も変更されます。一部のプログラミング言語では、配列はデフォルトで参照渡しされます。

question mark

myFunc関数のパラメータとして適切なコードはどれか:

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 5.  8

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 5.  8
some-alt