이 글은 Tucker의 Go언어 프로그래밍 책을 12장 배열 보고 정리한내용이다.
배열
배열은 타입이 같은 값 여러 개를 가지는 자료 구조이다. 배열에 저장된 값을 element(요소)라고하고 위치를 인덱스라고한다.
배열을 사용하게 되면 여러 데이터를 하나의 변수로 효과적으로 사용할 수 있도록 한다.
var nums [5]int
days := [3]string{"monday","tuesday","wendsday"}
var temps [5]float64 = [5]float64{24.3,26.7}
var s = [5]int{1:10,3:30}
x := [...]int{10,20,30}
package main
import "fmt"
func main() {
var t [5]float64 = [5]float64{24.0, 25.9, 27.8, 26.9, 26.2}
for i, v := range t {
fmt.Println(i, v)
}
}
출력
0 24
1 25.9
2 27.8
3 26.9
4 26.2
요소 위치 = 배열 시작 주소 + (인덱스 * 타입 크기)
a := [5]int{1,2,3,4,5}
b := [5]int{500,400,300,200,100}
b = a // a 배열을 b 변수에 복사
타입이 맞다면 변수의 복사처럼 대입연산자를 사용해 복사한다.
배열이 이중, 삼중 중첩된 배열로 배열을 요소로 가지는 배열이다.
package main
import "fmt"
func main() {
var a [2][5]int = [2][5]int{
{1, 2, 3, 4, 5},
{5, 6, 7, 8, 9},
}
for _, arr := range a {
for _, v := range arr {
fmt.Print(v, " ")
}
fmt.Println()
}
}
참고