Go의 슬라이스
2710 단어 beginnersslicesprogramminggo
슬라이스에는 세 가지 구성 요소만 있습니다.
슬라이스 선언 및 초기화
package main
import "fmt"
func main() {
months := []string{"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}
fmt.Println(months)
fmt.Println("Length:", len(months))
fmt.Println("Capacity:", cap(months))
}
산출
[January February March April May June July August September October November December]
Length: 12
Capacity: 12
슬라이스 항목
Go는 슬라이스 연산자 s[i:p]를 지원합니다.
s는 배열을 나타냅니다.
i는 새 슬라이스에 추가할 기본 배열(또는 다른 슬라이스)의 첫 번째 요소에 대한 포인터를 나타냅니다. 변수 i는 array[i] 배열의 인덱스 위치 i에 있는 요소에 해당합니다. 이 요소가 반드시 기본 배열의 첫 번째 요소인 array[0]일 필요는 없습니다.
p는 새 조각을 만들 때 사용할 기본 배열의 요소 수를 나타냅니다. 변수 p는 새 슬라이스에서 사용할 수 있는 기본 배열의 마지막 요소에 해당합니다. 기본 배열의 위치 p에 있는 요소는 위치 array[i+1]에서 찾을 수 있습니다. 이 요소는 기본 배열의 마지막 요소인 array[len(array)-1]일 필요는 없습니다.
package main
import "fmt"
func main() {
months := []string{"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}
quarter1 := months[0:3]
quarter2 := months[3:6]
quarter3 := months[6:9]
quarter4 := months[9:12]
fmt.Println(quarter1, len(quarter1), cap(quarter1))
fmt.Println(quarter2, len(quarter2), cap(quarter2))
fmt.Println(quarter3, len(quarter3), cap(quarter3))
fmt.Println(quarter4, len(quarter4), cap(quarter4))
}
산출
[January February March] 3 12
[April May June] 3 9
[July August September] 3 6
[October November December] 3 3
Reference
이 문제에 관하여(Go의 슬라이스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ioeshu/slices-in-go-4i6i텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)