go version
)?goバージョンgo1.9.2linux / amd64
はい
package main
import "time"
type T struct {
time.Time
}
var a map[T]string
func main() {
}
$ go vet a.go
$ [nothing reported]
$ go vet a.go
$ time.Time is not a good map key type.
time.Timeのように、マップキータイプとして使用できない他のタイプがいくつかある場合があります。
何も報告されていません
私はこれが獣医チェックの基準を満たしているとは思わない。
何をしているのかがわかっている場合は、time.Timeをマップキーとして使用することは完全に有効です。 有効なコードにはノイズが多すぎると思います。
しかし、誰かがGitHubで分析を行って、時間の何パーセントかを確認することができます。時間キー付きマップは有効です。
興味があれば、このタイプの問題を検出するリンターを作成しました: https :
私は今それをgometalinterと統合しようとしています。
獣医が囲碁テストの一部になったので、新しいチェックのバーはさらに高くなります。 time.Timeをマップキーとして持つことは時々有効であるため、獣医でそれを拒否することはOKではありません。
これをメガチェックまたは他のリンターの1つに追加することについて、 @ dominikhに相談することができます。
最も参考になるコメント
私はこれが獣医チェックの基準を満たしているとは思わない。
何をしているのかがわかっている場合は、time.Timeをマップキーとして使用することは完全に有効です。 有効なコードにはノイズが多すぎると思います。
しかし、誰かがGitHubで分析を行って、時間の何パーセントかを確認することができます。時間キー付きマップは有効です。