Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
package main
import "fmt"
func main() {
var v any = 42
s, ok := v.(string)
fmt.Println(len(s), ok)
}0 false
- Ждать
2 true: утверждение типа лишь проверяет тип, лежащий вv, и никогда не превращает42в строку"42". - Ждать панику: паникует только форма с одним результатом
s := v.(string); с, okнеудача даётokравныйfalseиsравный"".
- Что напечатает программа, если заменить утверждение на
v.(int)? - Как switch по типу
vобработал бы иint, иstring?