Go Arrays and Slice
in Programming Language on Go
배열
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 - 니꼴라스 선생님