Foundations
Hello Go
Start with a tiny Go program that stores a value and prints a greeting.
package main
A runnable Go program starts in `package main` and has a `main` function.
Hello Go
hello.go
Replay: real traced execution (multi-file project)
package main
import "fmt"
func main() {
var name = "Go"
message := "Hello, " + name + "!"
fmt.Println(message)
}
package main
import "fmt"
func main() {
var name = "Ada"
message := "Hello, " + name + "!"
fmt.Println(message)
}
package main
import "fmt"
func main() {
var name = "Gopher"
message := "Hello, " + name + "!"
fmt.Println(message)
}
name ← "Go", message ← "Hello, Go!"
5func main() {6 var name→ "Go" = "Go" //@name="Ada", "Gopher"7 message→ "Hello, Go!" := "Hello, " + name"Go" + "!"89 fmt.Println(message"Hello, Go!")10}outputHello, Go!
name ← "Ada", message ← "Hello, Ada!"
5func main() {6 var name→ "Ada" = "Ada"7 message→ "Hello, Ada!" := "Hello, " + name"Ada" + "!"89 fmt.Println(message"Hello, Ada!")10}outputHello, Ada!
name ← "Gopher", message ← "Hello, Gopher!"
5func main() {6 var name→ "Gopher" = "Gopher"7 message→ "Hello, Gopher!" := "Hello, " + name"Gopher" + "!"89 fmt.Println(message"Hello, Gopher!")10}outputHello, Gopher!
Follow the Greeting
namestarts as"Go".- The program joins
"Hello, ",name, and"!". messagebecomesHello, Go!.fmt.Println(message)printsHello, Go!. | name | message | | --- | --- | | Go | Hello, Go! | | Ada | Hello, Ada! | | Gopher | Hello, Gopher! |
Exercise: hello.go
Reproduce Hello, Go!, then try Ada and Gopher and predict each greeting before running it.