РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
52 of 1593 menu

Функция new

Функция new выделяет память для значения указанного типа, инициализирует его нулевым значением и возвращает указатель на это значение. Первым и единственным параметром функция принимает тип, для которого нужно выделить память.

Синтаксис

new(T)

Пример

Давайте выделим память для типа int и выведем полученный указатель:

package main import "fmt" func main() { p := new(int) fmt.Println(p) }

Результат выполнения кода:

"0xc00001a0b0"

Пример

Давайте выделим память для типа int и разыменуем указатель, чтобы увидеть нулевое значение:

package main import "fmt" func main() { p := new(int) fmt.Println(*p) }

Результат выполнения кода:

0

Пример

Давайте выделим память для типа string и изменим значение по указателю:

package main import "fmt" func main() { p := new(string) *p = "abcde" fmt.Println(*p) }

Результат выполнения кода:

"abcde"

Пример

Давайте выделим память для слайса и убедимся, что он инициализируется нулевым значением:

package main import "fmt" func main() { p := new([]string) fmt.Println(*p) }

Результат выполнения кода:

[]

Смотрите также

  • функцию make,
    которая выделяет память и инициализирует слайсы, карты и каналы
  • тип pointer,
    который хранит адрес значения в памяти
  • тип slice,
    который представляет динамический массив
  • тип map,
    который представляет коллекцию ключей и значений
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить