Go: μ œμ•ˆ: cmd/vet: μˆ˜μ˜μ‚¬λŠ” time.Time μœ ν˜•(λ˜λŠ” 이λ₯Ό ν¬ν•¨ν•˜λŠ” μœ ν˜•)이 지도 ν‚€λ‘œ μ‚¬μš©λ  λ•Œ κ²½κ³ ν•΄μ•Ό ν•©λ‹ˆλ‹€.

에 λ§Œλ“  2017λ…„ 12μ›” 04일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: golang/go

μ–΄λ–€ λ²„μ „μ˜ Goλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ( 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.

time.Timeκ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ 맡 ν‚€ μœ ν˜•μœΌλ‘œ μ‚¬μš©ν•  수 μ—†λŠ” λ‹€λ₯Έ μœ ν˜•μ΄ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

λŒ€μ‹  무엇을 λ³΄μ•˜μŠ΅λ‹ˆκΉŒ?

보고된 λ°” μ—†μŒ

FrozenDueToAge Proposal

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

λ‚˜λŠ” 이것이 μˆ˜μ˜μ‚¬ κ²€μ‚¬μ˜ 기쀀에 λΆ€ν•©ν•˜μ§€ μ•ŠλŠ”λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

μ‹œκ°„μ„ μ‚¬μš©ν•˜λŠ” 것은 μ™„λ²½ν•˜κ²Œ μœ νš¨ν•©λ‹ˆλ‹€. μ‹œκ°„μ„ 지도 ν‚€λ‘œ μ‚¬μš©ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. μœ νš¨ν•œ μ½”λ“œμ— λŒ€ν•΄μ„œλŠ” λ„ˆλ¬΄ μ‹œλ„λŸ½λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ λˆ„κ΅°κ°€ GitHubμ—μ„œ λͺ‡ νΌμ„ΌνŠΈμ˜ μ‹œκ°„μ„ ν™•μΈν•˜κΈ° μœ„ν•΄ 뢄석을 ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ‹œκ°„ ν‚€ 맡이 μœ νš¨ν•©λ‹ˆλ‹€.

λͺ¨λ“  3 λŒ“κΈ€

λ‚˜λŠ” 이것이 μˆ˜μ˜μ‚¬ κ²€μ‚¬μ˜ 기쀀에 λΆ€ν•©ν•˜μ§€ μ•ŠλŠ”λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

μ‹œκ°„μ„ μ‚¬μš©ν•˜λŠ” 것은 μ™„λ²½ν•˜κ²Œ μœ νš¨ν•©λ‹ˆλ‹€. μ‹œκ°„μ„ 지도 ν‚€λ‘œ μ‚¬μš©ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. μœ νš¨ν•œ μ½”λ“œμ— λŒ€ν•΄μ„œλŠ” λ„ˆλ¬΄ μ‹œλ„λŸ½λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ λˆ„κ΅°κ°€ GitHubμ—μ„œ λͺ‡ νΌμ„ΌνŠΈμ˜ μ‹œκ°„μ„ ν™•μΈν•˜κΈ° μœ„ν•΄ 뢄석을 ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ‹œκ°„ ν‚€ 맡이 μœ νš¨ν•©λ‹ˆλ‹€.

관심이 μžˆλŠ” 경우 μ΄λŸ¬ν•œ μœ ν˜•μ˜ 문제λ₯Ό κ°μ§€ν•˜λŠ” λ¦°ν„°λ₯Ό μž‘μ„±ν–ˆμŠ΅λ‹ˆλ‹€. https://github.com/m3db/build-tools/blob/master/linters/badtime/README.md

μ§€κΈˆ gometalinter와 ν†΅ν•©ν•˜λ €κ³  ν•©λ‹ˆλ‹€.

이제 μˆ˜μ˜μ‚¬κ°€ ν…ŒμŠ€νŠΈμ˜ 일뢀가 λ˜μ—ˆκΈ° λ•Œλ¬Έμ— μƒˆλ‘œμš΄ 검사에 λŒ€ν•œ 기쀀은 λ”μš± λ†’μ•„μ‘ŒμŠ΅λ‹ˆλ‹€. λ•Œλ•Œλ‘œ μ‹œκ°„μ„ κ°–λŠ” 것이 _is_ μœ νš¨ν•˜κΈ° λ•Œλ¬Έμ—. μ‹œκ°„μ„ 지도 ν‚€λ‘œ μ‚¬μš©ν•˜λ―€λ‘œ μˆ˜μ˜μ‚¬μ—μ„œ 이λ₯Ό κ±°λΆ€ν•˜λŠ” 것은 μ˜³μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

megacheck λ˜λŠ” λ‹€λ₯Έ λ¦°ν„° 쀑 ν•˜λ‚˜μ— 이것을 μΆ”κ°€ν•˜λŠ” 것에 λŒ€ν•΄

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰