エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
GoのSliceを関数の引数に渡した時の挙動 - Carpe Diem
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
GoのSliceを関数の引数に渡した時の挙動 - Carpe Diem
概要 Sliceの構造を始め、関数で呼び出した場合の挙動やappendなどsliceを操作した場合どうなるかをまと... 概要 Sliceの構造を始め、関数で呼び出した場合の挙動やappendなどsliceを操作した場合どうなるかをまとめました。 環境 golang v1.9.0 Sliceの構造 Sliceは以下のような3つの要素でなりたっています。 配列へのポインタ length capacity 図示すると以下です。 ref: Go Slices: usage and internals - go.dev 関数の引数として渡した時 Goの関数の引数は基本的に値渡しです。これはsliceも同じです。なので渡した変数のポインタは異なります。 func main() { s := []int{1, 2, 3} fmt.Printf("%p\n", &s) // 0x1040a0b0 someFunc(s) } func someFunc(s []int) { fmt.Printf("%p\n", &s) //