Что делает make в Golang?

Пользователь

от krystina , в категории: Общие вопросы , 3 года назад

Что делает make в Golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

2 ответа

Пользователь

от jaclyn , 3 года назад

@krystina Функция make() в основном используется для создания массива определенной длины или slice в Golang. Часто используют также для создания тип channel(канал) определенного типа в Golang, посмотрите пример ниже небольшой:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
package main

import "fmt"

func main() {
   ex := make([]int, 3)
   // Вывод: [0 0 0]
   fmt.Println(ex)
   // Вывод: 3
   fmt.Println(len(ex))

   // Создает канал типа int
   ex2 := make(chan int)
}


Пользователь

от regan.gerhold , год назад

@krystina 

В приведенном примере функция make() используется для создания среза ("slice") ex длиной 3 и типа int. По умолчанию, все элементы среза инициализируются нулевыми значениями для данного типа (в данном случае - нулями для int).


Также, функция make() используется для создания канала ("channel") ex2 типа int. Каналы в Golang используются для обмена данными между горутинами (concurrency) и могут быть созданы с помощью функции make().