Programming/Go

[Go lang] Go - 2차원 배열 만들기 예제

족제비다아 2020. 1. 20. 16:49

- Slice와 Array의 차이점 설명하기

- Slice를 이용해 2차원 배열 만들기 예제

 

https://go-tour-kr.appspot.com/#36

 

A Tour of Go

연습: 슬라이스 Pic이라는 함수를 구현합니다. 이 함수는 dy개 만큼의 길이를 가지는 슬라이스를 리턴해야 하는데, 각각의 요소들은 또한 dx 개의 8비트 부호없는 8비트 정수 타입을 가지는 슬라이스입니다. 프로그램을 실행하면 이 정수값들을 흑백 (사실은 파란색)을 나타내는 값으로 해석하여 그림을 보여줄 것입니다. 그림은 여러분이 원하는 것으로 선택할 수 있습니다. (이용할 수 있는) 흥미로운 함수로는 x^y, (x+y)/2, x*y 등이 있습니다. (여

go-tour-kr.appspot.com

Code

package main

import "code.google.com/p/go-tour/pic"

func Pic(dx, dy int) [][]uint8 {

    picture := make([][]uint8,dy)
    for i:=0 ; i<dx; i++{
        picture[i] = make([]uint8,dx)
    }
    
    for i:=0 ; i<dy; i++{
        for j:=0 ;j<dx; j++{
            if i < j{
                picture[i][j] = 255
            } else{
                picture[i][j] = 0
            }
        }
    }
    
    return picture
    
}

func main() {
    pic.Show(Pic)
}