Go 1.19가 이미 출시되었으며 이것이 그 소식입니다.

최근에 프로그래밍 언어 «Go 1.19»의 새 버전 출시 발표, 다양한 개선 사항과 무엇보다도 버그 수정을 추가하여 이전 릴리스에서 개선된 버전 우리가 강조할 수 있는 참신 중 메모리 관리 개선, 보안 개선 등을 들 수 있습니다.

Go를 처음 접하시는 분들은 컴파일 언어의 고성능에 코드 작성 용이성 개발 및 버그 보호.

Go의 구문은 C 언어의 일반적인 요소를 기반으로 합니다. Python 언어에서 일부 차용. 언어는 매우 간결하지만 코드는 읽고 이해하기 쉽습니다.

Go 코드는 별도의 바이너리 실행 파일로 컴파일됩니다. 가상 머신을 사용하지 않고 기본적으로 실행됩니다(프로파일링, 디버깅 및 기타 런타임 문제 해결 하위 시스템은 런타임 구성 요소로 내장됨).

Go 1.19 주요 뉴스

이 새로운 버전의 Go 1.19에서는 다음이 강조됩니다. 기능 및 제네릭 유형에 대한 지원을 개선하기 위한 작업이 완료되었습니다. 최신 버전에 추가되어 개발자가 여러 유형과 동시에 작동하도록 설계된 기능을 정의하고 사용할 수 있으며 제네릭을 사용하는 일부 프로그램의 성능 최적화가 20% 향상되었습니다.

새 버전에서 눈에 띄는 또 다른 변경 사항은 링크, 목록 및 더 간단한 구문에 대한 지원 추가 문서 주석의 헤더를 정의합니다. gofmt 유틸리티는 API 문서와 함께 주석의 고급 기능을 염두에 두고 서식을 제공합니다.

게다가 C, C++, Java, JavaScript, Rust 및 Swift에 맞게 수정된 Go 메모리 모델 순차적으로 일관된 원자 값을 허용하지 않습니다. atomic.Int64 및 atomic.Pointer[T]와 같은 새로운 유형이 sync/atomic 패키지에 도입되어 원자 값을 더 쉽게 사용할 수 있습니다.

반면에 가비지 수집기는 이제 소프트 제한을 정의할 수 있습니다., 힙의 크기를 제한하고 시스템에 메모리를 더 적극적으로 반환함으로써 시행됩니다. 즉, 소비가 모든 조건에서 지정된 제한 내로 보장되지는 않습니다. 소프트 제한은 고정 메모리 컨테이너에서 실행되는 프로그램을 최적화하는 데 유용할 수 있습니다.

또한 Unix 시스템에서는 추가 파일 설명자가 자동으로 활성화됩니다. (RLIMIT_NOFILE 제한 증가) x86-64 및 ARM64 시스템에서 대규모 변경 표현식의 속도를 높이기 위해 점프 테이블이 사용되어 대규모 변경 표현식을 최대 20% 더 빠르게 처리할 수 있습니다.

riscv64 시스템에서 CPU 레지스터를 통해 함수 인수를 전달하는 기능이 구현되어 성능이 약 10% 향상되었습니다.

다른 변경 사항 중 이 새 버전에서 눈에 띄는 :

  • 수많은 성능 최적화가 구현되었습니다.
  • 복사된 데이터의 크기를 줄이기 위해 루틴 스택 크기를 동적으로 설정하는 지원 추가
  • 64비트 LoongArch 아키텍처(GOARCH=loong64)를 기반으로 하는 Loongson 프로세서가 있는 시스템에서 Linux 환경에 대한 실험적 지원을 추가했습니다.
  • 메모리 모델을 변경해도 이전에 작성된 코드와의 호환성에는 영향을 미치지 않았습니다.
  • 유닉스 계열 시스템(aix, android, darwin, dragonfly, freebsd, hurd, illumos, ios, linux, netbsd, openbsd, solaris)을 걸러내기 위해 "go:build" 라인에서 사용할 수 있는 새로운 "unix" 빌드 제한을 추가했습니다. ).
  • 보안을 향상시키기 위해 os/exec 모듈은 이제 PATH 환경 변수를 확장할 때 상대 경로를 무시합니다(예: 실행 파일의 경로를 결정할 때 현재 디렉토리는 더 이상 확인되지 않음).

마지막으로 이 새 릴리스에 대해 자세히 알아보려면 다음에서 세부 정보를 확인할 수 있습니다. 다음 링크.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.