當前位置:編程學習大全網 - 網站源碼 - golang 內置函數new 和struct 初始化的區別

golang 內置函數new 和struct 初始化的區別

在go語言中new()這是壹個用來分配內存的內置函數,它的第壹個參數是壹個類型,不是壹個值,它的返回值是壹個指向新分配的t類型的零值的指針。在golang的代碼定義如下:funcnew(tType)*Typestrut{}直接使用struct{}來初始化strut時,返回的是壹個struct類型的值,而不是指針兩者是不壹樣的兩者對比代碼如下:typeStudentstruct{idintnamestring}funcmain(){vars_1*Student=new(Student)s_1.id=100s_1.name="cat"vars_2Student=Student{id:1,name:"tom"}fmt.Println(s_1,s_2)}輸出結果:&{100cat}{1tom}從上面代碼的聲明和打印的結果中就可以看出s_1的類型為指針,s_2為壹個Student類型

  • 上一篇:肉雞ddos攻擊工具肉雞ddos攻擊cmd命令
  • 下一篇:pniomgr 是什麽
  • copyright 2024編程學習大全網