2013年8月19日月曜日

Go の Slice は参照型

Go 言語の Slice は代入すると参照が渡されます。
そのため、引数として渡した関数内での変更が、もとの Slice に影響します。
func addSlice(s []string) {
    s[1] = "WORLD"
}

func main() {
    s := make([]string, 2)
    s[0] = "HELLO"
    addSlice(s)
    log.Printf("SLICE: %v", s)  // [HELLO WORLD]
}

0 件のコメント:

コメントを投稿