出錯的用法
package main
import "fmt"
var a *string
func main() {
fmt.Println(*a)
}
正確的用法
package main
import "fmt"
var a = new(string)
func main() {
fmt.Println(*a)
}
原因
var a *string只是聲明了變量a,並沒有初始化(分配內存),沒有分配內存,*自然是取不到地址的。
所以在聲明的同時使用內建函數new分配內存後再賦值即可解決。