【轉】go中struct初始化的3種方式


https://www.cnblogs.com/leisure520/p/7745691.html

----------------------------------------------------------------

GO語言不比其他語言,在struct中,它沒有構造函數,不必賦值也能不報錯。

比如:

復制代碼
type Student struct {
    name string
    age  int
}

func main() {

    var P Student

    fmt.Println("The person's name is", P.name)
    fmt.Println("The person's name is", P.age)
}
復制代碼

這是為什么呢,因為當命名一個類型的時候,string就默認為空,int類型默認為0,float64就默認為0.0,。

當初始化的時候,有幾種方式可以用得上:

第一種:

    var P Student
    P.name = "Huang"
    P.age = 12
    fmt.Println("The person's name is", P.name)
    fmt.Println("The person's name is", P.age)

 

第二種,直接:

    var P Student = Student{"huang", 15}

    fmt.Println("The person's name is", P.name)
    fmt.Println("The person's name is", P.age)

第三種:

P := new(person)

注意第三種 new的話代表一個指針


免責聲明!

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



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