Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
package main
import "fmt"
func main() {
m := map[string]int{"a": 0}
v, ok := m["a"]
w, ok2 := m["b"]
fmt.Println(v, ok, w, ok2)
}0 true 0 false
- Ждать, что
okдля"a"будетfalse, раз значение0:okговорит, есть ли ключ вmap, а"a"в ней есть. - Ждать, что отсутствующий ключ прочитается как
-1: он читается как нулевое значение типа значения, а дляintэто0.
- Почему одно
m["b"] == 0не говорит, есть ли ключ"b"? - Как написать
if, который выполняется, только если ключ есть вmap?