Go 1.10 릴리스 노트에서 발표한 대로 이제 Go 1.11에는 OpenBSD 6.2 이상, macOS 10.10 Yosemite 이상 또는 Windows 7 이상이 필요합니다. 이러한 운영 체제 이전 버전 지원에 대한 요구 사항이 제거되었습니다.
- msan은 이제 메모리 클리너()linux/arm64를 지원합니다. (추천 학습: Go
) 이제 구성 모드 C-Shared를 지원합니다. c-archivefreebsd/amd6464비트 MIPS 시스템에서 새로운 환경 변수 설정 GOMIPS64=hardfloat(기본값) 및 GOMIPS64=softfloat는 부동 소수점 계산에 하드웨어 명령어 또는 소프트웨어 에뮬레이션을 사용할지 여부를 선택합니다. 32비트 시스템의 경우 환경 변수는 Go 1.10에 추가되었으므로 여전히 GOMIPS입니다. 소프트 부동 소수점 ARM 시스템(GOARM=5)에서 Go는 이제 보다 효율적인 소프트웨어 부동 소수점 인터페이스를 사용합니다. 이는 Go 코드에 투명하지만 GOARM으로 보호되지 않는 부동 소수점 명령어를 사용하는 ARM 어셈블리는 중단되므로 새 인터페이스로 이식해야 합니다. ARMv7에서 1.11을 실행하려면 더 이상 Linux 커널 KUSER_HELPERS를 구성할 필요가 없습니다. 이 설정은 기본 커널 구성에서는 활성화되지만 씬 구성에서는 비활성화되는 경우도 있습니다.Web Assembly
Go 1.11은 WebAssembly(js/wasm)에 실험적인 포트를 추가합니다. Go 프로그램은 현재 Goroutine 스케줄링, 가비지 수집, 지도 등을 위한 Go 런타임을 포함하는 WebAssembly 모듈로 컴파일됩니다. 따라서 결과 크기는 약 2MB, 즉 압축 시 500KB 이상입니다. Go 프로그램은 새로운 실험적인 syscall/js 패키지를 사용하여 JavaScript를 호출할 수 있습니다. 바이너리 크기 및 다른 언어와의 상호 운용성은 아직 우선 순위가 아니지만 향후 릴리스에서 해결될 수 있습니다. 새로운 GOOS 값 "js" 및 GOARCH 값 "wasm"이 추가됨에 따라 Go 도구는 이제 *_js.go라는 Go 파일을 무시하거나 해당 GOOS/GOARCH 값이 사용되지 않는 한 무시합니다. 이러한 패턴과 일치하는 파일 이름이 이미 있는 경우 이름을 바꿔야 합니다. *_wasm.go모듈, 패키지 버전 관리 및 종속성 관리
Go 1.11에는 버전 관리 및 패키지 제어 기능이 있는 GOPATH의 대안인 "모듈"이라는 새로운 개념에 대한 초기 지원이 추가되었습니다. 배포에 대한 통합 지원입니다. 모듈을 사용하면 개발자는 더 이상 GOPATH에서만 작업할 수 없으며 버전 종속성 정보가 명확하고 가벼워지며 빌드의 안정성과 재현성이 향상됩니다. 모듈 지원은 실험적인 것으로 간주됩니다. 세부 사항은 Go 1.11 사용자의 피드백에 따라 변경될 수 있으며 더 많은 도구가 계획되어 있습니다. 모듈 지원의 세부 사항은 변경될 수 있지만 Go 1.11을 사용하여 모듈로 변환된 프로젝트는 Go 1.12 이상에서 계속 작동합니다.빌드 캐시 요구 사항
Go 1.11은 빌드 캐시를 비활성화하기 위해 환경 변수 GOCACHE=off 설정을 지원하는 최신 버전입니다. 이 기능은 Go 1.10에 도입되었습니다. Go 1.12부터는 $GOPATH/pkg를 제거하는 단계인 캐시를 구축해야 합니다. 위에서 설명한 모듈 및 패키지 로딩 지원을 위해서는 이미 빌드 캐시를 활성화해야 합니다. 🎜위 내용은 golang1.11에서 무엇이 변경되었나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!