В Golang для преобразования интерфейса к другому типу используются утверждения типа (type assertions).
Существует две формы утверждения типа:
С проверкой на успешность:
go
Здесь i.(T)
пытается преобразовать значение интерфейса i
к типу T
. s
будет содержать преобразованное значение, а ok
— булево значение, указывающее на успех преобразования. Это предпочтительный способ, так как он безопасен и позволяет обработать случай, когда преобразование невозможно, без паники.
Без проверки на успешность:
go
Эта форма также пытается преобразовать i
к
В Golang для преобразования интерфейса к другому типу используются утверждения типа (type assertions).
Существует две формы утверждения типа:
С проверкой на успешность:
go
Здесь i.(T)
пытается преобразовать значение интерфейса i
к типу T
. s
будет содержать преобразованное значение, а ok
— булево значение, указывающее на успех преобразования. Это предпочтительный способ, так как он безопасен и позволяет обработать случай, когда преобразование невозможно, без паники.
Без проверки на успешность:
go
Эта форма также пытается преобразовать i
к
Register or sign in to get access to full answers for all questions from the question bank.