English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang 기본 강의

Golang 제어문

Golang 함수 & 메서드

Golang 구조체

Golang 슬라이스 & 배열

Golang 문자열(String)

Golang 포인터

Golang 인터페이스

Golang 동기

Golang 예외(Error)

Golang 다른杂项

Go 언어 포인터 용량

포인터에서는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