Go Arrays and Slice

배열

package main

import "fmt"

func main() {
	names := [5]string{"harry", "minkuk", "donghoon"}
	names[3] = "lalala"
	names[4] = "lalala"
	fmt.Println(names)

}

선언은 간단하다.

크기를 먼저 선언하고 뒤에 타입을 명시한다.

만약 무한한 크기의 배열을 사용하고 싶다면 어떻게 하면 될까?

이때 사용할 수 있는 자료구조가 Slice이다.

선언은 아주아주 간단하다.

package main

import "fmt"

func main() {
	names := []string{"harry", "minkuk", "donghoon"}
	fmt.Println(names)
}

그냥 크기 명시안하면 된다.

어떤가 멋지지않은가?

Slice에 값을 추가하기위해선 append라는 함수를 사용해야한다.

아래와 같이 사용 가능하다.

package main

import "fmt"

func main() {
	names := []string{"harry", "minkuk", "donghoon"}
	names = append(names,"flying")
	fmt.Println(names)
}

append는 기존의 배열을 추가하는 것이 아닌 새롭게 추가된 배열을 반환한다.

이는 마치 함수형 프로그래밍에서 자료구조를 다루는 방법과 매우 닮아있는 것을 알 수 있다.

Reference

Nomad Coder - 니꼴라스 선생님



© 2022. by minkuk

Powered by minkuk