Go 1.24 릴리즈

4 weeks ago 4

  • 언어 변경 사항
    • Go 1.24는 이제 제네릭 타입 별칭을 완전히 지원함. 타입 별칭은 정의된 타입처럼 매개변수를 받을 수 있음.
  • 성능 개선
    • 런타임에서 여러 성능 개선이 이루어져 대표적인 벤치마크에서 평균 2-3%의 CPU 오버헤드 감소를 이룸.
    • 새로운 내장 맵 구현, 작은 객체의 메모리 할당 효율성 향상, 새로운 런타임 내부 뮤텍스 구현 포함.
  • 도구 개선
    • go 명령어는 모듈의 도구 종속성을 추적하는 메커니즘을 제공함. go get -tool을 사용하여 현재 모듈에 도구 지시문을 추가할 수 있음.
    • go vet 하위 명령어의 새로운 테스트 분석기는 테스트 패키지의 테스트, 퍼저, 벤치마크, 예제 선언에서 일반적인 실수를 보고함.
  • 표준 라이브러리 추가
    • 표준 라이브러리는 FIPS 140-3 준수를 위한 새로운 메커니즘을 포함하며, 승인된 알고리듬을 사용하는 데 소스 코드 변경이 필요 없음.
    • x/crypto 모듈에 있던 여러 패키지가 이제 표준 라이브러리에서 사용 가능함.
    • 벤치마크는 이제 더 빠르고 오류가 적은 testing.B.Loop 메서드를 사용할 수 있음.
    • 새로운 os.Root 타입은 특정 디렉토리 아래에서 파일 시스템 작업을 수행할 수 있는 기능을 제공함.
    • 런타임은 runtime.AddCleanup이라는 새로운 정리 메커니즘을 제공하여 runtime.SetFinalizer보다 더 유연하고 효율적이며 오류가 적음.
  • WebAssembly 지원 개선
    • Go 1.24는 Go 프로그램이 WebAssembly 호스트에 함수를 내보낼 수 있는 go:wasmexport 지시문을 추가하고, Go 프로그램을 WASI 리액터/라이브러리로 빌드하는 것을 지원함.

Read Entire Article