tgoop.com/yeahub_go_backend/29
Create:
Last Update:
Last Update:
#ЧеКак
Концепция "нулевого значения" (zero-value) означает значение по умолчанию, которое получает переменная при ее объявлении, если она не была инициализирована явно. Нулевые значения зависят от типа данных переменной.
0
0.0
false
""nil
Является nil
. Это означает, что слайс, объявленный, но не инициализированный явно, указывает на nil
и имеет длину и емкость равные нулю.
Нулевое значение для слайса
package main
import "fmt"
func main() {
var slice []int // Объявление слайса без инициализации
fmt.Println(slice) // []
fmt.Println(len(slice)) // 0
fmt.Println(cap(slice)) // 0
fmt.Println(slice == nil) // true
}
Можно работать так же, как и с обычным слайсом. Например, можно добавлять элементы с помощью функции
append
, и это будет работать корректно.Использование
append
с nil
-слайсомpackage main
import "fmt"
func main() {
var slice []int // nil-слайс
// Добавление элемента в nil-слайс
slice = append(slice, 1)
fmt.Println(slice) // [1]
fmt.Println(len(slice)) // 1
fmt.Println(cap(slice)) // 1
fmt.Println(slice == nil) // false (теперь слайс больше не nil)
}