У меня есть две формы объявления структуры в области действия функции.Насколько я мог видеть, приведенный ниже фрагмент кода работает просто отлично.Вопрос в том, в чем разница между двумя способами декларации?Это только семантический вопрос или что-то хитрое под одеялом?
package main
import "fmt"
func main() {
type Person1 struct {
Name string
Id int
}
person1 := &Person1{Name : "John Smith", Id : 10}
fmt.Printf("(%s, %d)\n", person1.Name, person1.Id)
var person2 struct {
name string
id int
}
person2.name = "Kenneth Box"
person2.id = 20
fmt.Printf("(%s, %d)\n", person2.name, person2.id)
}