golang study - 06(Slice)

golang study - 06(Slice)

Slices

  • 배열의 값을 가리킨다.
  • 배열의 길이를 알고 있다.

Slicing slices

  • 인덱스는 0부터 시작
  • 슬라이스의 두번째 숫자는 n-1까지이다.
package main
import  "fmt"

func  main() {
  p := []int{1, 3, 5, 7, 9, 11}
  fmt.Println("p ==", p)
  fmt.Println("p[1:4] ==", p[1:4])
  fmt.Println("p[:3] ==", p[:3])
  fmt.Println("p[4:] ==", p[4:])
}

// output
p == [1  3  5  7  9  11]
p[1:4] == [3  5  7]
p[:3] == [1  3  5]
p[4:] == [9  11]

Make slice

  • make 함수로 만든다.
  • 세번째 매개변수로 용량(capacity)를 제한할 수 있다.
a := make([]int, 5) // len(a)=5
b := make([]int, 0, 5) // len(b)=0, cap(b)=5
b = b[1:] // len(b)=4, cap(b)=4

Empty slice

  • 빈 슬라이스의 값은 nil이다.
var  z []int
fmt.Println(z, len(z), cap(z))
if z == nil {
  fmt.Println("nil!")
}

댓글

가장 많이 본 글