1、new函數
表達式new(T)將創建一個T類型的匿名變量,所做的是為T類型的新值分配並清零一塊內存空間,然后將這塊內存空間的地址作為結果返回,而這個結果就是指向這個新的T類型值的指針值,返回的指針類型為*T。
我們只需使用new()函數,無需擔心其內存的生命周期或怎樣將其刪除,因為Go語言的內存管理系統會幫我們打理一切。
示例: 二種不同寫法
package main //必須有個main包 import "fmt" func main() { //a := 10 //整型變量a var p *int //指向一個合法內存 //p = &a //p是*int, 指向int類型 p = new(int) *p = 666 fmt.Println("*p = ", *p) //第二種寫法,自動推導類型 q := new(int) //自動推導類型 *q = 777 fmt.Println("*q = ", *q) }
#執行結果:
*p = 666 *q = 777