Используя struct
и функцию, которая должна печатать элементы структуры, я написал эту простую программу:
package main
import "fmt"
type Salutation struct {
name string
greeting string
}
func Greet(salutation Salutation) {
fmt.Println(salutation.name)
fmt.Println(salutation.greeting)
}
func main() {
var s = Salutation
s.name = "Alex"
s.greeting = "Hi"
Greet(s)
}
При запуске я получаю сообщение об ошибке go:16: type Salutation is not an expression
. Что здесь не так?
Интересно, что когда я изменяю определение s
на var s = Salutation {"Alex", "Hi"}
, он работает отлично. Но они в основном разные синтаксические способы определения одного и того же объекта. Вот почему я не понимаю источник ошибки.