English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
포인터에서는cap()함수를 사용하여 포인터의 용량을 찾습니다. 이 함수는 내장 함수로, 배열 포인터의 용량을 반환합니다. Go 언어에서 용량은 배열 포인터에 저장된 최대 요소 수를 의미합니다. 이 함수는 내장으로 정의되어 있습니다.
문법:
func cap(l Type) int
여기서는,l의 타입은 포인터입니다. 이 개념에 대해 예제를 통해 논의해 보겠습니다:
// Go 프로그램을 통해 설명합니다 //배열 포인터의 용량 package main import ( "fmt" ) func main() { //생성 및 초기화 //배열 포인터 //var 키워드를 사용하여 var ptr1 [7]*int var ptr2 [5]*string var ptr3 [8]*float64 //용량을 찾습니다 //배열 포인터 //cap() 함수를 사용하여 fmt.Println("ptr1 용량: ", cap(ptr1)) fmt.Println("ptr2 용량: ", cap(ptr2)) fmt.Println("ptr3 용량: ", cap(ptr3)) }
출력:
ptr1 용량: 7 ptr2 용량: 5 ptr3 용량: 8
Go에서 배열 포인터의 용량을 얻는 예제2:
package main import ( "fmt" ) func main() { //배열을 생성합니다 arr := [8]int{200, 300, 400, 500, 600, 700, 100, 200} var x int //포인터를 생성합니다 var p [5]*int //주소를 할당합니다 for x = 0; x < len(p); x++ { p[x] = &arr[x] } //결과를 표시합니다 for x = 0; x < len(p); x++ { fmt.Printf("p[%d]의 값= %d\n", x, *p[x]) } // cap() 함수를 사용하여 용량을 찾습니다 fmt.Println("arr의 용량: ", cap(arr)) fmt.Println("p의 용량: ", cap(p)) }
출력:
p[0]의 값= 200 p[1의 값= 300 p[2의 값= 400 p[3의 값= 500 p[4의 값= 600 arr의 용량: 8 p의 용량: 5