go Canonical Type Assertion에 버그가 있나요?
으아아아마지막 예는 무엇을 의미하나요?
var v,好的接口{} = x.(t)
?
go 1.19에서 오류가 발생했습니다.
구문 오류: 예상치 못한 인터페이스, := 또는 = 또는 쉼표가 필요함
syntax 错误:意外的接口,期望 := 或 = 或逗号
所有这些行都在尝试相同的操作:x
的类型断言以键入 T
。值 ok
确定断言是否成功。在您提供的最后一个示例中,唯一的区别是,您没有为 v
和 ok
确定类型,而是为两者提供了 interface{}
的类型。将 v
和 ok
声明为 interface{}
不会更改它们包含的值。它允许您将它们发送到函数或将它们添加到需要 interface{}
T
를 입력하세요. ok
값은 어설션이 성공했는지 여부를 결정합니다. 제공하신 마지막 예에서 유일한 차이점은 v
및 ok
에 대한 유형을 결정하는 대신 두 에 대해 interface{}를 제공했다는 것입니다. 유형. <code>v
및 ok
를 interface{}
로 선언해도 여기에 포함된 값은 변경되지 않습니다. 이를 통해 함수에 보내거나 인터페이스{}
유형이 필요한 컬렉션에 추가할 수 있으며, 이때 다시 어설션해야 합니다. 🎜위 내용은 Go: 유형 주장 - 사양에 버그가 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!