/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/clear.go
47 строк
743 B
Cuong Manh Le
cmd/compile: add clear(x) builtin
31 янв 2023, 22:43
31 янв 2023, 22:43
b89a840
Код
Авторство
О чём код?
// run // Copyright 2022 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package main import "math" func checkClearSlice() { s := []int{1, 2, 3} clear(s) for i := range s { if s[i] != 0 { panic("clear not zeroing slice elem") } } clear([]int{}) } func checkClearMap() { m1 := make(map[int]int) m1[0] = 0 m1[1] = 1 clear(m1) if len(m1) != 0 { panic("m1 is not cleared") } // map contains NaN keys is also cleared. m2 := make(map[float64]int) m2[math.NaN()] = 1 m2[math.NaN()] = 1 clear(m2) if len(m2) != 0 { panic("m2 is not cleared") } clear(map[int]int{}) } func main() { checkClearSlice() checkClearMap() }