どのようなものか、これは行くにやっている、誰かがspecifially、次の構文が行くには何を意味するのか説明できます:は、キャスト
x.([]byte)
私はこれが何を意味するのかわからない、これはキャストのですか?しかし、それはドットの直後なので、どのような方法ですか?
func of(x interface{}) ByteView {
if bytes, ok := x.([]byte); ok {
return ByteView{b: bytes}
}
return ByteView{s: x.(string)}
}
参考:https://github.com/golang/groupcache/blob/master/byteview_test.go#L55
がこれをチェックしてくださいhttps://golang.org/doc/effective_go.html#interface_conversions –
それはですインタフェースを実装する具体的な型にする便利な方法です。それは型アサーションです。インターフェース{}はどんなタイプでも受け入れることができます。このタイプが[]バイトの場合は 'bytes'に割り当てられ、 'ok'はそのタイプであることを示します。つまりokはブールです。これをチェックしてくださいhttps://golang.org/ref/spec#Type_assertions – Snowman