Golang: Array

By Xah Lee. Date: . Last updated: .

Array is a fixed number of slots that hold values of the same type.

Syntax of Array Type

[n]type → syntax to specify a array of n slots, each is of type type.

Declare Array

Here's example of declaring array.

[see Golang: Basic Datatypes]

Array cannot be resized.

package main

import "fmt"

func main() {
	var a [2]string
	a[0] = "cat"
	a[1] = "dog"
	fmt.Println(a) // [cat dog]
}

Array Literal Expression

This lets you declare and initialize a array at the same time. e.g.

var x = [3]int{5, 9, 2}

or

var x = [...]int{5, 9, 2} → let compiler figure out the number of items.

package main

import "fmt"

func main() {

	// literal expression to init array slots
	var x = [4]int{5, 3, 2, 9}

	fmt.Println(x) // [5 3 2 9]
}

Get Element

arr[n] → get index n of array named arr.

Set Element

arr[n] = val → set index n to val of array named arr.

Length

len(arr) → return the number of slots.

Capacity

caps(arr) → return the capacity.

Loop Thru Array

for i, x := range myArray { fmt.Println(i, x) }

if you don't need the index or value, name the variable as _.

for _, x := range myArray { fmt.Println(x) }

[see Golang: loop]

Print Array

To print each member on a line, you have write a loop.

[see Golang: loop]

Array to Slice

array[:] → return a slice of array. The slice shares the array storage.

[see Golang: Slice]

package main

import "fmt"

func main() {

	var arr = [2]int{3, 4}

	// create a slice
	var s = arr[:]

	// s is now of type slice of int
	fmt.Printf("%T\n", s) // []int

}

Reference

The Go Programming Language Specification - The Go Programming Language#Array_types

If you have a question, put $5 at patreon and message me.

Golang

  1. Compile, Run
  2. Source Encoding
  3. Package, Import
  4. Comment
  5. Print
  6. String
  7. String Functions
  8. Print String
  9. String Backslash Escape
  10. Rune
  11. Variable
  12. Zero Value
  13. Constant
  14. If Then Else
  15. Switch/Case
  16. Loop
  17. Basic Types
  18. Array
  19. Slice
  20. Map
  21. Struct
  22. Function
  23. Closure
  24. Pointer
  25. String, Byte Slice, Rune Slice
  26. regexp
  27. Read File
  28. Write to File
  29. Walk Dir
  30. Check File Exist
  31. System Call
  32. Get Script Path
  33. Defer
  34. Random Number

Examples

  1. Match Any Regexp
  2. Find Replace
  3. Validate Links
  4. Generate Sitemap

Reference

  1. Go Spec