1
伙计们我有学生结构,我试图创建Student项目作为*学生。我得到无效内存地址或无指针解除引用错误。Golang指针定义
var newStudent *Student
newStudent.Name = "John"
我创建这样的。当我尝试设置任何变量时,我得到相同的错误。我错了什么?
伙计们我有学生结构,我试图创建Student项目作为*学生。我得到无效内存地址或无指针解除引用错误。Golang指针定义
var newStudent *Student
newStudent.Name = "John"
我创建这样的。当我尝试设置任何变量时,我得到相同的错误。我错了什么?
您需要为Student
struct
分配内存。例如,
package main
import "fmt"
type Student struct {
Name string
}
func main() {
var newStudent *Student
newStudent = new(Student)
newStudent.Name = "John"
fmt.Println(*newStudent)
newStudent = &Student{}
newStudent.Name = "Jane"
fmt.Println(*newStudent)
newStudent = &Student{Name: "Jill"}
fmt.Println(*newStudent)
}
输出:
{John}
{Jane}
{Jill}
看来,内存来保存一个'Student'不分配。尝试'var newStudent * Student:= new(Student)' –
它工作。非常感谢。 –