Go 1.27 출시

1 hour ago 2

언어 명세에 제네릭 메서드, 중첩 구조체 리터럴 초기화, 확장된 함수 타입 추론이 추가되고 도구·런타임·표준 라이브러리도 함께 개선됨 go fix에 현대화 도구 4개가 추가됐으며, go doc은 package@version 조회를 지원하고 go mod tidy는 여러 require 블록을 직접·간접 의존성 구조로 통합함 80바이트 미만 객체의 할당 비용이 최대 30% 감소해 할당 집약적 프로그램의 전체 성능이 약 1% 향상되며, goroutineleak 프로파일도 정식 제공됨 encoding/json/v2 와 저수준 스트리밍용 encoding/json/jsontext가 추가되고, 기존 encoding/json은 하위 호환성을 유지하면서 v2 구현으로 역직렬화 속도를 높임 FIPS 204 기반 ML-DSA, 자체 UUID 지원, 실험적 SIMD, testing/synctest와 함께 쓸 수 있는 메모리 내 가짜 네트워크로 표준 라이브러리의 적용 범위가 넓어짐 언어 명세의 세 가지 변화 Go 1.27은 언어 명세에 세 가지 주요 변경을 도입함 제네릭 메서드 메서드가 타입 매개변수를 가질 수 있어 타입별 메서드를 각각 만들 필요가 줄어듦 math/rand/v2.Rand는 정수 타입마다 있던 Int32N, Int64N, IntN 대신 모든 정수 타입에 작동하는 N[Int intType](<https://go.dev/blog/n Int>) Int를 제공함 구조체 리터럴 구조체 리터럴의 키로 해당 타입에 유효한 필드 선택자를 사용할 수 있음 이를 통해 중첩되거나 임베드된 구조체의 필드를 직접 초기화할 수 있음 임베드된 Habitat의 Burrow 필드를 Gopher{Burrow: "Burrow #42"}처럼 지정 가능함 함수 타입 추론 함수 타입 추론이 모든 할당 문맥으로 일반화됨 제네릭 함수를 복합 리터럴, 타입 변환, 채널 전송에 사용할 때 명시적인 타입 인수가 필요하지 않음 GenericFormatter를 []IntFormatter에 넣거나 IntFormatter로 변환하고 채널로 보내면 T = int로 추론함 Go 개발 도구 개선 go fix에 새로운 현대화 도구 4개가 추가됨 atomictypes embedlit slicesbackward unsafefuncs go doc은 go doc example.com/pkg@v1.2.3과 같은 package@version 조회를 지원함 go mod tidy는 g...

Read Entire Article