在一个sturct中关联了另外一个struct,这里带号是意味着我获得了一个指针副本指向这个结构体是吗?不带号意味着我获得了一个struct的副本并且初始化过的?请问是这么理解吗?(因为测试发现带不带号在预加载时,带号的如果没有匹配上会不返回,不带*号的会返回一个初始化过的结构体。)
在一个sturct中关联了另外一个struct,这里带号是意味着我获得了一个指针副本指向这个结构体是吗?不带号意味着我获得了一个struct的副本并且初始化过的?请问是这么理解吗?(因为测试发现带不带号在预加载时,带号的如果没有匹配上会不返回,不带*号的会返回一个初始化过的结构体。)
你问的知识跟gorm无关。
golang中结构体
定义时就会初始化,每个成员变量都是初始值,比如数字默认为0,字符串默认为空字符串。结构体指针
定义时是个空指针,需要手动赋值
7 回答5.4k 阅读
6 回答6.9k 阅读✓ 已解决
4 回答2.4k 阅读
1 回答3.4k 阅读
2 回答939 阅读✓ 已解决
2 回答2.3k 阅读
1 回答2.2k 阅读
是的,指针类型必须显式分配内存,否则默认值是nil,访问会报空指针错误。