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

Основной учебник Golang

Golang управляющие инструкции

Golang функции и методы

Golang 结构体

Срезы и массивы в Golang

Строки (String) в Golang

Указатели в Golang

Интерфейсы в Golang

Конкурентоспособность в Golang

Исключения (Error) в Golang

Другие вопросы 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