Collections and Composite Types
Arrays
Go arrays store a fixed number of values of the same type.
array
An array type includes its length, such as `[3]int`.
Arrays
arrays_intro.go
Replay: real traced execution (multi-file project)
package main
import "fmt"
func main() {
var index = 1
numbers := [3]int{4, 7, 9}
value := numbers[index]
fmt.Println("numbers=", numbers)
fmt.Println("index=", index)
fmt.Println("value=", value)
}
package main
import "fmt"
func main() {
var index = 0
numbers := [3]int{4, 7, 9}
value := numbers[index]
fmt.Println("numbers=", numbers)
fmt.Println("index=", index)
fmt.Println("value=", value)
}
package main
import "fmt"
func main() {
var index = 2
numbers := [3]int{4, 7, 9}
value := numbers[index]
fmt.Println("numbers=", numbers)
fmt.Println("index=", index)
fmt.Println("value=", value)
}
index ← 1, numbers ← [3]int{4, 7, 9}, value ← 7
5func main() {6 var index→ 1 = 1 //@index=0, 27 numbers→ [3]int{4, 7, 9} := [3]int{4, 7, 9}8 value→ 7 := numbers[index]7910 fmt.Println("numbers=", numbers[3]int{4, 7, 9})11 fmt.Println("index=", index1)12 fmt.Println("value=", value7)13}outputnumbers= [4 7 9] index= 1 value= 7
index ← 0, numbers ← [3]int{4, 7, 9}, value ← 4
5func main() {6 var index→ 0 = 07 numbers→ [3]int{4, 7, 9} := [3]int{4, 7, 9}8 value→ 4 := numbers[index]4910 fmt.Println("numbers=", numbers[3]int{4, 7, 9})11 fmt.Println("index=", index0)12 fmt.Println("value=", value4)13}outputnumbers= [4 7 9] index= 0 value= 4
index ← 2, numbers ← [3]int{4, 7, 9}, value ← 9
5func main() {6 var index→ 2 = 27 numbers→ [3]int{4, 7, 9} := [3]int{4, 7, 9}8 value→ 9 := numbers[index]9910 fmt.Println("numbers=", numbers[3]int{4, 7, 9})11 fmt.Println("index=", index2)12 fmt.Println("value=", value9)13}outputnumbers= [4 7 9] index= 2 value= 9
Pick by Index
numbersstores three values:4,7, and9.- Go array indexes start at
0. indexis1.numbers[index]reads7. | Index | Value | Selected? | | --- | --- | --- | |0|4| no | |1|7| yes | |2|9| no |
Exercise: arrays_intro.go
Read one array value by index and print the array, index, and selected value