go version
)؟انتقل إلى الإصدار go1.9.2 linux / 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.
مثل الوقت ، قد يكون هناك بعض الأنواع الأخرى التي لا يمكن استخدامها كأنواع مفاتيح الخريطة.
لا شيء يذكر
لا أعتقد أن هذا يلتقي بالحانة لفحص طبيب بيطري.
من المناسب تمامًا استخدام الوقت ، فالوقت كمفتاح خريطة ، إذا كنت تعرف ما تفعله. أعتقد أنه سيكون مزعجًا جدًا للرمز الصحيح.
لكن يمكن لأي شخص إجراء بعض التحليلات على GitHub لمعرفة النسبة المئوية للوقت. تعد الخرائط ذات المفاتيح الزمنية صالحة.
لقد كتبت linter يكتشف هذا النوع من المشكلات إذا كنت مهتمًا: https://github.com/m3db/build-tools/blob/master/linters/badtime/README.md
أحاول دمجها مع gometalinter الآن.
الآن بعد أن أصبح الطبيب البيطري جزءًا من اختبار go test ، أصبح الشريط أعلى للفحوصات الجديدة. لأنه _ هو _ في بعض الأحيان أن يكون لديك وقت. الوقت كمفتاح خريطة ، رفضه في الطبيب البيطري ليس جيدًا.
يمكنك التحدث إلى dominikh حول إضافة هذا إلى megacheck أو أحد linters الأخرى.
التعليق الأكثر فائدة
لا أعتقد أن هذا يلتقي بالحانة لفحص طبيب بيطري.
من المناسب تمامًا استخدام الوقت ، فالوقت كمفتاح خريطة ، إذا كنت تعرف ما تفعله. أعتقد أنه سيكون مزعجًا جدًا للرمز الصحيح.
لكن يمكن لأي شخص إجراء بعض التحليلات على GitHub لمعرفة النسبة المئوية للوقت. تعد الخرائط ذات المفاتيح الزمنية صالحة.