出错的用法
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
分配内存后再赋值即可解决。
相关文章
暂无评论...