관심있는 것들 정리
Golang 연습 4 (slice traversal) 본문
slice는 array와 달리 크기가 고정되어 있지 않음
array는 var a [5]int와 같이 인자로 크기를 주지만, slice는 var a []int 와 같이 인자로 크기를 주지 않음
기본적으로 reference type으로 저장 공간을 할당하려면(초기화시 값으로 자동할 당하는 경우 외), make([]자료형, 길이, 용량)으로 할당 필요(용량명시하지 않으면 길이와 용량이 동일하게 할당)
길이: index로 접근 가능한 길이. 길이<=용량, 용량이 길이값보다 훨씬 커도, 길이값보다 큰 index 사용하면 에러 발생
용량: 실제 메모리에 잡히는 공간
package main
import (
"fmt"
)
func main() {
var a = []int{1, 2, 3, 4, 5}
fmt.Printf("길이:%v 용량: %v\n", len(a), cap(a))
for i := 0; i < len(a); i++ {
fmt.Println(i)
}
for i, val := range a {
fmt.Println(i, val)
}
for _, val := range a {
fmt.Println(val)
}
}
반응형
'programming > Golang' 카테고리의 다른 글
Golang 연습 6 (channel close check) (0) | 2021.01.26 |
---|---|
Golang 연습 5 (duck typing using interface) (0) | 2021.01.26 |
Golang 연습 3 (99 bottles of beer) (0) | 2021.01.25 |
Golang 연습 2 (goroutine w/ loop) (0) | 2021.01.25 |
golang 연습 1 (waitgroup) (0) | 2021.01.25 |