伙计我有Student struct,我正在尝试将Student项目创建为*Student.我得到无效的内存地址或nil指针解除引用错误.
var newStudent *Student
newStudent.Name = "John"
Run Code Online (Sandbox Code Playgroud)
我是这样创造的.当我尝试设置任何变量时,我得到同样的错误.我错了什么?
你需要为内存分配内存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)
}
Run Code Online (Sandbox Code Playgroud)
输出:
{John}
{Jane}
{Jill}
Run Code Online (Sandbox Code Playgroud)