Go는 C 구문에서 영감을 받은 정적 타이핑을 사용하는 컴파일된 동시 프로그래밍 언어입니다.
이전 버전이 출시된 지 6개월 만에 새 버전 대중적인 프로그래밍 언어의 1.21로 이동 그리고 이번 새 버전에서는 새로운 기능 추가 언어, PGO, 이전 버전과의 호환성 등.
Go에 대해 모르는 사람들을 위해 이것이Google에서 개발 중인 프로그래밍 언어입니다. 컴파일 언어의 고성능과 코드 작성 용이성, 개발 속도 및 오류 방지와 같은 스크립팅 언어와 같은 장점을 결합한 하이브리드 솔루션으로 커뮤니티의 참여로
Go 1.21 주요 뉴스
이 새 버전의 Go 1.21이 출시되면서 버전 번호 매기기에 약간의 변경 사항이 도입되었습니다. 번호 매기기는 이미 양식에서 처리되었습니다. Go 1.x는 Go 언어의 글로벌 버전과 이 제품군의 첫 번째 버전을 모두 나타냅니다. Go 1.21부터 첫 번째 버전은 이제 Go 1.X.0입니다. 새로운 Go 번호 매기기 처리 방법에 대한 자세한 정보는 다음에서 확인할 수 있습니다. 다음 링크.
이 새 릴리스에서 눈에 띄는 변경 사항 중 일부는 찾을 수 있습니다. 구현된 지원 코드 프로파일링 결과에 기반한 최적화(PGO – 프로필 기반 최적화), 이전 버전에서는 미리 보기로만 사용할 수 있었고 이제 Go 1.21에서는 일반 용도로 사용할 수 있습니다.
이 새 버전에서 눈에 띄는 또 다른 변경 사항은 컴파일을 위한 실험적 포트 구현 준비 코드 WASI API를 사용하는 웹어셈블리 (WebAssembly System Interface)는 독립적인 실행을 제공합니다.
이 외에도 추가되었다는 점도 주목된다. 내장 최소 및 최대 기능 가장 작은/큰 값을 선택하고 지도의 모든 항목을 제거하거나 재설정하거나 구조를 끊는 명확한 기능을 선택합니다.
또한 이번 새 버전에서는 go 유틸리티는 이전 버전과 이전 버전이 호환됩니다. 다른 버전의 Go 언어에서 이전 도구를 사용하여 새 코드를 만들거나 그 반대로 할 수 있습니다. Go가 이러한 유형의 동작을 변경해야 할 때 이제 작업 공간을 기반으로 이전 동작과 새 동작 중에서 선택합니다.
반면에 우리는 또한 다음을 찾을 수 있습니다. 루프에서 변수 처리를 위한 새로운 의미 체계에 대한 실험적 지원 추가, 반복에서 클로저와 코루틴을 사용할 때 특정 동작으로 인한 일반적인 오류를 피할 수 있습니다. 새로운 시맨틱은 ":=" 연산자를 사용하여 "for" 루프에서 선언된 변수의 개별 인스턴스 루프의 각 반복 생성을 포함합니다.
그들은 또한 만들어졌습니다 함수의 유형 추론 개선 제네릭 함수는 동시에 여러 유형에서 작동하도록 설계되었으며, 이제는 그 자체로 제네릭 함수인 인수를 사용하여 함수를 호출할 수 있습니다. 또한 유형 유추는 이제 인터페이스에 값을 할당할 때 메서드도 고려한다는 사실과 해당 유형 추론은 이제 할당에서 해당 유형을 일치시킬 때 정확합니다.
의 눈에 띄는 다른 변화, 표준 라이브러리에 추가된 새 패키지를 찾을 수 있습니다.
- log/slog: 구조화된 로그를 작성하는 기능.
- 슬라이스: 모든 유형의 슬라이스를 사용하는 일반적인 작업입니다.
- 맵: 모든 종류의 키와 요소가 있는 할당(맵)에 대한 유용한 작업입니다.
cmp: 정렬된 값을 비교하는 기능. - 컴파일러는 PGO 최적화를 포함하여 재구축되어 프로그램 컴파일 속도를 2-4% 높일 수 있습니다.
- 가비지 수집기는 일부 애플리케이션에서 대기 시간을 최대 40%까지 줄이도록 최적화되었습니다.
- amd64 및 arm64 시스템에서 런타임/추적 패키지로 코드를 추적할 때 오버헤드가 감소했습니다.
마지막으로 만약 당신이 그것에 대해 더 알고 싶은 관심, 당신은에서 세부 사항을 확인할 수 있습니다 다음 링크.