Под крышками интерфейсы реализованы в виде двух элементов: типа и значения.Значение, называемое динамическим значением интерфейса, является произвольным конкретным значением, а тип является значением значения.Для значения int 3 значение интерфейса схематически содержит (int, 3).
, например:
s:="123"
test(s)
, вы можете думать о value
как (string, "123")
.поэтому, когда вы делаете res, ok:=value.(string)
, он может узнать res
и ok
.