[signal SIGSEGV: segmentation violation]

2年前 (2022) 程序员胖胖胖虎阿
307 0 0

出错的用法

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

版权声明:程序员胖胖胖虎阿 发表于 2022年9月8日 下午7:00。
转载请注明:[signal SIGSEGV: segmentation violation] | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...