ssa: map delete, map eql nil

This commit is contained in:
visualfc
2024-06-29 21:35:20 +08:00
parent 28ebce6b65
commit 439e377111
7 changed files with 239 additions and 83 deletions

View File

@@ -5,16 +5,32 @@ func main() {
m[1] = "hello"
m[2] = "world"
m[3] = "llgo"
println(m[1], m[2], len(m))
println(m, m[1], m[2], len(m))
for k, v := range m {
println(k, ":", v)
}
s := make(map[string]int, len(m))
for k, v := range m {
s[v] = k
}
id, ok := s["llgo"]
println("llgo", id, ok)
none, ok := s["go"]
println("go", none, ok)
delete(s, "llgo")
if _, ok := s["llgo"]; ok {
panic("bad key")
}
if len(s) != 2 {
panic("bad len")
}
m2 := make(map[int]string)
println(m2, len(m2), m2 == nil, m2 != nil)
var m3 map[int]string
println(m3, len(m3), m3 == nil, m3 != nil)
}