이동 Newb 여기에 - 나는GoLang : 괄호 안에 싸인 속성의 의미 의미?
if tc, ok := tng.(ThingClasser); ok {
//... do some stuff ...
}
내가 tng.(ThingClasser)
의 의미를 이해하지 못할 작성하지 않은 이동 코드의 다음 비트가 발생했습니다.
어떤 식 으로든 이것은 메소드 호출처럼 보입니다. 즉, 두 개의 변수 (ec
, ok
)가 여러 개의 반환 값을 받아 들일 준비가되어 있습니다.
그러나 tng.(ThingClasser)
은 메소드 호출이 아닌 속성 액세스처럼 보입니다.
그러나 약 ThingClasser
주위의 괄호는 전에 보지 못한 주름입니다. 또한 중요하다면 ThingClasser
기호가이 프로젝트의 다른 곳에서 인터페이스로 정의되어 있으므로 주위에 구문적인 설탕이라고 생각할 수 있습니다.이 인터페이스는 인터페이스를 구현하지만 두 반환 값은 혼란스러워합니다.
인터넷 검색은 아직 구체적으로 나타나지 않았습니다. 그러나 이것은 Google에서 어려운 일 중 하나입니다.
이 전화/구문이 GoLang에 무엇인지 아는 사람이 있습니까? 가능하면 RTFM을 할 수 있도록 해당 매뉴얼 페이지에서 저를 가리켜 주시겠습니까?
[Go language spec] (https://golang.org/ref/spec)은 비교적 간단합니다. 그것은 이러한 것들을 확인하는 가장 좋은 장소입니다. '. '("타입 어설 션"사양을 빠르게 찾습니다.) – JimB