数组

定义

  1. var arr_name [length]type

初始化

  1. var arr [5]int // 声明
  2. arr[1] = 5 // 初始化
  3. arr[2] = 6
  4. arr[3] = 7
  5. fmt.Println("length: ", len(arr))
  6. fmt.Println("capicity: ", cap(arr))
  7. fmt.Println(arr)
  8. // 方法2
  9. var arr2 = [4]int{1, 2, 4} // 声明与初始化
  10. fmt.Println("length: ", len(arr2))
  11. fmt.Println("capicity: ", cap(arr2))
  12. fmt.Println(arr2)

举例

  1. package main
  2. import "fmt"
  3. type Stack [5]int
  4. func (st *Stack) Pop() int {
  5. v :=0
  6. for ix := len(st)-1; ix >=0; ix-- {
  7. if v = st[ix]; v !=0 {
  8. st[ix]=0
  9. return v // 找到一个不等于0的就返回
  10. }
  11. }
  12. return v
  13. }
  14. func main() {
  15. s := Stack{8, 9, 3}
  16. fmt.Println(s)
  17. fmt.Println("s len:", len(s))
  18. fmt.Println("s.pop value: ", s.Pop())
  19. fmt.Println(s)
  20. fmt.Println("end")
  21. }

声明与初始化

  1. var arr [5]int
  2. var arr2 = [10]string{"a", "b", "c"}
  3. arr3 := [15]string{"x", "y", "z"}