go.mod의 go 지시
go.mod
go 1.14
여기에 쓴 고의 버전은 로컬에 설치된 고의 버전과 무슨 관계가 있습니까?예를 들어 위에서 말한 바와 같이 1.14
로 지정되었을 때 로컬 고의 버전이 1.15
이라면 어떻게 될까요?이런거, 잘 몰라서 조사해 봤어.참고 자료에 쓰여 있습니다.
goo 디렉터리는 모듈이 구상한 버전의 Go를 나타낸다.goo 지시는 원래 Go 언어의 하위 호환성 변경을 지원하는 것을 목적으로 한다.그러나 모듈을 가져온 후 후방을 호환하지 않는 변경은 없습니다.따라서 현재 1.17이 발표되었고 1.13에서 컴파일할 수 있는 코드는 이후의 goo의 모든 버전이 정상적으로 작동할 수 있음을 의미한다.
단, goo 디렉터리는 지정한 버전에 따라 사용 가능한 언어 기능에 영향을 줍니다.예를 들어, go.mod에서 지정
go 1.12
할 때 1.13에서 가져온 1_000_000
와 같은 수치 소양을 사용할 수 없습니다.로컬에 설치된 고의 버전은 1.13에도 사용할 수 없다고 가정합니다.내가 실제로 해 볼게.아래main.준비 고.
main.go
package main
import (
"fmt"
)
func main() {
fmt.Println(1_000_000)
}
go.mod에서 다음과 같이 1.12를 지정합니다.go.mod
...
go 1.12
이렇게 go build
하는 동안 다음 오류가 발생했습니다../main.go:8:17: underscores in numeric literals requires go1.13 or later (-lang was set to go1.12; check go.mod)
또한 지정된 버전에 따라 동작이 달라질 수 있습니다.자세한 내용은 참고 자료를 참조하십시오.
Reference
이 문제에 관하여(go.mod의 go 지시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/yamkazu/articles/562630481ea5fd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)