Go by Example: [08] Arrays

Arrays

Go언어에서 배열크기가 정해진 동일한 타입의 변수의 집합니다.

package main

import "fmt"

func main() {
    
    var a [5]int                      // [1]
    fmt.Println("emp:", a)
    
    a[4] = 100                        // [2]
    fmt.Println("set:", a)
    fmt.Println("get:", a[4])
    
    fmt.Println("len:", len(a))       // [3]
    
    b := [5]int{1, 2, 3, 4, 5}        // [4]
    fmt.Println("dcl:", b)
    
    var twoD[2][3]int                 // [5]
    for i := 0; i < 2; i++ {
        for j := 0; j < 3; j++ {
            twoD[i][j] = i + j
        }
    }
    fmt.Println("2d:", twoD)
}
  1. int형 5개로 이루어진 배열을 선언했습니다. 배열에서 크기값([5]int)도 배열의 일부입니다.
    기본적으로 배열의 요소들은 자동으로 기본값으로 초기화 됩니다. int형이므로, 0값.
  2. 배열명[인덱스] = 값형태로 각 요소에 해당 값을 설정할 수 있습니다. 값을 가져올 수도 있습니다.
  3. 기본적으로 제공하는 len()함수를 통해서 배열의 크기(5)를 알아낼 수 있습니다.
  4. 단축선언으로 값을 지정해서 배열을 선언해서 곧바로 생성할 수 있습니다.
  5. 배열은 1차원만 지원되는 것이 아닙니다. 몇차원이던지 생성할 수 있습니다.예제는 2차원 배열입니다.

실행하면 다음과 같습니다.

$ go run arrays.go
emp: [0 0 0 0 0]
set: [0 0 0 0 100]
get: 100
len: 5
dcl: [1 2 3 4 5]
2d:  [[0 1 2] [1 2 3]]

fmt.Println()함수에서 배열명을 지정할 경우 [값1 값2 값3 ...]과 같이 배열내용을 표시합니다.

Go언어에서는 slice라는 배열과 유사한 형태가 있습니다. 유사하지만 다릅니다!!