# Go Example Code Go is an awesome language. ## Syntax ```go package main import "fmt" func main() { fmt.Println("Hello!") var a = 1 // declare type and initialize b := 2 // automatic type and initalize msg := bye("Stan") fmt.Println(msg, a, b) // multiple echos } func bye(name string) string { // types specified return "goodbye " + name } ``` ## Brackets ```go package main import "fmt" func main() { var a = 1 { var b = 2 } fmt.Println(a, b) } ``` ## Struct ```go package main import "fmt" type Man struct { Age int Name string } func main() { joe := Man { Age: 63, Name: "Joe" } // cool stan := Man {}; // defaults stuff to "zero" gavin := Man { Age: 12 } gavin.Name = "Gavin" fmt.Println(joe, stan, gavin) } ``` ## Conditionals ```go package main import "fmt" func main() { a := false b := 2 if !a && b > 1 { fmt.Println("if") } else if b > 3 || (b < 10 && b > 4) { fmt.Println("else if") } else { fmt.Println("else") } c := "foo" switch (c) { case "foo": fmt.Println("reasonable") break } switch { case c == "foo": fmt.Println("case a") break; case b < 3: fmt.Println("case b") break; } for i := 0; i < 2; i++ { fmt.Println("two loops") } for true { //fmt.Println("forever") } } ```