(Go Lang) Structs (GBEN)

Go by Example

Example

  • Like in C

package main
import "fmt"
// Go’s structs are typed collections of fields. They’re useful for grouping
// data together to form records.
// This person struct type has name and age fields.
type person struct {
  name string
  age  int
}

func main() {
  // This syntax creates a new struct.
  fmt.Println(person{"Bob", 20})
  // You can name the fields when initializing a struct.
  fmt.Println(person{name: "Alice", age: 30})
  // Omitted fields will be zero-valued.
  fmt.Println(person{name: "Fred"})
  // An & prefix yields a pointer to the struct.
  fmt.Println(&person{name: "Ann", age: 40})
  // Access struct fields with a dot.
  s := person{name: "Sean", age: 50}
  fmt.Println(s.name)
  // You can also use dots with struct pointers - the pointers are automatically dereferenced.
  sp := &s
  fmt.Println(sp.age)
  // Structs are mutable.
  sp.age = 51
  fmt.Println(sp.age)
}
{Bob 20}
{Alice 30}
{Fred 0}
&{Ann 40}
Sean
50
51

Attribution

Leave a Reply

Your email address will not be published. Required fields are marked *