出错的用法

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分配内存后再赋值即可解决。