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)
}
int
형 5개로 이루어진 배열을 선언했습니다. 배열에서 크기값([5]int)도 배열의 일부입니다.
기본적으로 배열의 요소들은 자동으로 기본값으로 초기화 됩니다.int
형이므로,0
값.배열명[인덱스] = 값
형태로 각 요소에 해당 값을 설정할 수 있습니다. 값을 가져올 수도 있습니다.- 기본적으로 제공하는
len()
함수를 통해서 배열의 크기(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
라는 배열과 유사한 형태가 있습니다. 유사하지만 다릅니다!!