코딩/GoLang

GoLang, 다차원 배열 및 슬라이스 예제

드리프트 2021. 2. 10. 21:29
728x170

 

 

안녕하세요?

 

고랭에서 다차원 배열 및 다차원 슬라이스에 대한 예제입니다.

 

많은 도움이 되셨으면 합니다.

 

<팁>

배열을 선언 할 때 길이 대신 점 ...을 사용하면 컴파일러가 길이 선언 대신 세 개의 점을 포함하여 길이를 계산하도록 지시합니다.

 

[:]는 배열의 모든 요소 값을 슬라이스에 할당합니다.

 

package main
 
import "fmt"
 
func main() {
    println("Simple Array:")
    var arrayint = [...]int{1, 2, 3, 4} //assign
    fmt.Println(arrayint, "\n")
 
    println("Simple Slice:")
    var sliceint []int
    sliceint = arrayint[:] //assign
    fmt.Println(sliceint, "\n")
 
    println("Array of arrays:")
    var arrayofarrays [3][len(arrayint)]int
    for i := range arrayofarrays { //assign
        arrayofarrays[i] = arrayint
    }
    fmt.Println(arrayofarrays, "\n")
 
    println("Array of slices:")
    var arrayofslice [len(arrayofarrays)][]int
    for i := range arrayofarrays { // assign
        arrayofslice[i] = arrayofarrays[i][:]
    }
    fmt.Println(arrayofslice, "\n")
 
    println("Slice of arrays:")
    var sliceofarray [][len(arrayint)]int
    sliceofarray = arrayofarrays[:]
    fmt.Println(sliceofarray, "\n")
 
    println("Slice of slices:")
    var sliceofslices [][]int
    sliceofslices = arrayofslice[:]
    fmt.Println(sliceofslices, "\n")
}

실행 결과입니다.

C:\golang\coding>go run example13.go
Simple Array:
[1 2 3 4]

Simple Slice:
[1 2 3 4]

Array of arrays:
[[1 2 3 4] [1 2 3 4] [1 2 3 4]]

Array of slices:
[[1 2 3 4] [1 2 3 4] [1 2 3 4]]

Slice of arrays:
[[1 2 3 4] [1 2 3 4] [1 2 3 4]]

Slice of slices:
[[1 2 3 4] [1 2 3 4] [1 2 3 4]]


C:\golang\coding>go fmt example13.go

 

그리드형