title: Error: struct Type is not an expression
body: <p>Using <code>struct</code> and a function that is supposed to print out the struct's elements, I have written this simple program:</p>
  
  <pre><code>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)
  }
  </code></pre>
  
  <p>When I run it I get the error <code>go:16: type Salutation is not an expression</code>. What goes wrong here?</p>
  
  <p>Interestingly enough, when I change the definition of <code>s</code> to <code>var s = Salutation {"Alex", "Hi"}</code> it works just fine. But they are basically different syntactic ways to define the same entity. That's why I don't understand the source of the error. </p>