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