學習go的第7天遇到的一個小題分析

村望老弟 發表於 2021-09-20
Go

題目程式碼:

type student struct {
    name string
    age  int
}

func main() {
    m := make(map[string]*student)
    stus := []student{
        {name: "小王子", age: 18},
        {name: "娜扎", age: 23},
        {name: "大王八", age: 9000},
    }

    for _, stu := range stus {
        m[stu.name] = &stu
    }
    for k, v := range m {
        fmt.Println(k, "=>", v.name)
    }
}

預期的輸出結果:

娜扎 => 娜扎
大王八 => 大王八
小王子 => 小王子

實際輸出結果:

娜扎 => 大王八
大王八 => 大王八
小王子 => 大王八

題目分析:

學習go的第7天遇到的一個小題分析

本作品採用《CC 協議》,轉載必須註明作者和本文連結