[Go/Golang] Go언어 array 배열 선언 및 크기 구하기

2022. 6. 11. 20:0003. Resources/Go

728x90
반응형

이번엔 배열 선언이다.

https://gobyexample.com/arrays

 

Go by Example: Arrays

In Go, an array is a numbered sequence of elements of a specific length. package main import "fmt" func main() { Here we create an array a that will hold exactly 5 ints. The type of elements and length are both part of the array’s type. By default an arr

gobyexample.com

예제 코드는 아래와 같다.

package main

import "fmt"

func main() {

    var a [5]int
    fmt.Println("emp:", a)

    a[4] = 100
    fmt.Println("set:", a)
    fmt.Println("get:", a[4])

    fmt.Println("len:", len(a))

    b := [5]int{1, 2, 3, 4, 5}
    fmt.Println("dcl:", b)

    var twoD [2][3]int
    for i := 0; i < 2; i++ {
        for j := 0; j < 3; j++ {
            twoD[i][j] = i + j
        }
    }
    fmt.Println("2d: ", twoD)
}

 

배열을 선언하는 방법이 다른 언어들이랑은 다르지만, 훨씬 직관적인 느낌이 든다.

먼저 모양을 정의해주고, 타입을 매핑시켜주는 방식이다.

:= 를 이용해서도 배열 선언이 가능하다.

배열의 길이는 내장함수 len을 이용하여 바로 계산해낼 수 있다.

그럼 2차원 배열의 경우 길이를 어떻게 구할까?

다른 프로그래밍 언어에서의 배열이랑 마찬가지로 차원별로 길이를 구해야한다.

 

    var twoD [2][3]int
    for i := 0; i < 2; i++ {
        for j := 0; j < 3; j++ {
            twoD[i][j] = i + j
        }
    }
    fmt.Println("2d: ", twoD)
    fmt.Println("row len: ", len(twoD))
    fmt.Println("col len: ", len(twoD[0]))

이전 예제 코드에 2차원 배열의 길이를 구하는 방법을 추가한 것이다.

2d:  [[0 1 2] [1 2 3]]
row len:  2
col len:  3

결과는 위처럼 나온다.

일단 배열을 선언하는 것 자체가 굉장히 직관적이어서 테이블형 데이터를 다루는데 굉장히 편할 것 같다.

반응형