Go 1.14의 새로운 버전이 출시되었습니다.

Go

GO 팀은 Go 1.14 출시 발표를 발표했습니다., Google에서 개발한 오픈 소스 프로그래밍 언어의 새 버전입니다. 약속한 대로 이 릴리스는 XNUMX월을 넘지 않았으며 Go Team은 친절하게 도움을 주신 모든 분들께 감사를 표했습니다. 이 목적을 위해 제공된 피드백과 베타 테스트에 참여한 사람들에게 또는 코드 발행, 버그 보고 및 피드백 제출을 통해 이 버전의 디자인에 대해.

지금까지, GO 팀은 Rob Pike가 시작한 도전을 계속하기 위해 열심히 노력했습니다., Golang의 세 제작자 중 한 명인 그는 이 언어가 대규모 프로그래밍을 더 쉽고 빠르게 만들기를 원했습니다. Go의 구문은 Python 언어에서 개별적으로 차용한 C 언어의 친숙한 요소를 기반으로 하기 때문입니다. 언어는 충분히 간결하지만 코드는 읽고 이해하기 쉽습니다.

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

이 프로젝트는 처음에 다중 스레드 프로그래밍과 다중 코어 시스템에서의 효율적인 작업을 염두에 두고 개발되었으며, 심지어 병렬 컴퓨팅 및 병렬 방법 간의 상호 작용을 구성하는 캐리어 구현 수단을 제공합니다.

또한 이 언어는 할당된 메모리 블록의 오버플로 영역에 대한 기본 보호 기능을 제공하고 가비지 수집기를 사용할 수 있는 기능을 제공합니다.

Go 1.14 주요 뉴스

이 새 버전의 주요 변경 사항은 일반적인 사용을 위한 go 명령의 새로운 모듈 시스템, 기본적으로 활성화되어 있으며 GOPATH 대신 종속성 관리에 권장됩니다.

새로운 모듈 시스템은 내장된 버전 호환성을 제공합니다., 패키지 제공 도구 및 향상된 종속성 관리 시스템. 모듈의 도움으로, 개발자는 더 이상 GOPATH 트리 내에서 작업할 필요가 없습니다. 버전 기반 종속성을 명시적으로 정의하고 반복 가능한 어셈블리를 만들 수 있습니다.

또한, 스레드는 더 이상 무기한 차단할 필요가 없습니다. 함수를 호출하지 않고 루프를 사용하는 위의 경우와 같이 Go 스케줄러는 함수 호출 중에 현재 루틴의 가능한 특정 실행 시간을 확인하기 위해 작업한 후 스레드에서 제거하여 새 루틴을 실행할 수 있는 공간을 엽니다. 이는 Go 1.14에서 대기 시간 단축 측면에서 영향을 미칩니다.

또 다른 변화는 S메서드 집합이 겹치는 내장 인터페이스에 대한 지원이 추가되었습니다. 기본 제공 인터페이스의 메서드는 이제 기존 인터페이스의 메서드와 동일한 이름 및 시그니처를 가질 수 있습니다. 명시적으로 선언된 메서드는 이전과 같이 고유하게 유지됩니다.

그 위에 "defer" 표현의 성능이 향상되었습니다.이제 지연 함수를 직접 호출하는 것과 속도 면에서 거의 차이가 없으므로 성능에 민감한 코드에서 함수의 지연 시작을 사용할 수 있습니다.

비동기 선점도 제공됩니다.: 함수 호출을 포함하지 않는 루프는 이제 스케줄러의 교착 상태 또는 가비지 수집 시작 지연으로 이어질 수 있습니다.

메모리 페이지 할당 시스템의 효율성이 향상되었습니다., 이제 GOMAXPROCS 값이 큰 구성에서 잠금 충돌이 훨씬 적습니다.

그 결과 대용량 메모리 블록을 집중적으로 병렬 할당하여 지연이 감소하고 성능이 향상되었습니다.

더 이상은 없어 이러한 새로운 기능의 전체 목록을 찾을 수 있습니다. clave GO 1.14 릴리스 노트에서.

또한 이 새 버전은 macOS 10.11 El Capitan에서 작동하며 이 플랫폼에서 32비트 바이너리를 계속 지원합니다. 이것은 watchOS, iOS, iPadOS 및 tvOS와 같은 다른 플랫폼에서도 32비트 바이너리를 지원하는 마지막 버전일 수 있습니다.


코멘트를 남겨주세요

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

*

*

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