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