golang中map的值引用問題


先給出一個例子
 
package main

import (
     "fmt"
)

type string_map map[string][]string

func main() {

    map1 : = make(string_map)
    map1[ "one"] = []string{ "one"} //先賦值
    one : = map1[ "one"]             //把賦值的映射使用一個變量表示
    one = []string{ "two"}          //給這個變量賦另外的值
    fmt.Println(one)
    fmt.Println(map1)

}
結果如下:
[two]
map[one :[one]]
 
問題出現了,當使用一個變量來表示map里面的映射時,是類似於值引用的方式,變量的改變不影響map里面映射的值
 
所以這里需要注意了,這里golang和C#是不同的
 
 






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM