出错的用法
package mainimport "fmt"var a *stringfunc main() { fmt.Println(*a)}
正确的用法
package mainimport "fmt"var a = new(string)func main() { fmt.Println(*a)}
起因
var a *string
只是申明了变量a
,并没有初始化(分配内存),没有分配内存,*
天然是取不到地址的。
所以在申明的同时应用内建函数new
分配内存后再赋值即可解决。