Вот пример кода:
package main
import (
"fmt"
)
type A struct {
Name string
}
func (this *A) demo(tag string) {
fmt.Printf("%#v\n", this)
fmt.Println(tag)
}
func main() {
var ele A
ele.demo("ele are called")
ele2 := A{}
ele2.demo("ele2 are called")
}
Результаты выполнения:
&main.A{Name:""}
ele are called
&main.A{Name:""}
ele2 are called
Похоже, что те же самые в var ele A
и ele2 := A{}
Таким образом, значение struct Zero - это не nil
, а структура, в которой все свойства являются инициализированными значениями Zero. Правильно ли предположение?
Если предположение верно, то природа var ele A
и ele2 := A{}
одинакова, верно?