Offcanvas

개발자

“오는 3월 출시”··· 고(Go), 제네릭 도입한 1.18 두 번째 베타 공개

2022.02.03 Paul Krill  |  InfoWorld
오는 3월 출시될 구글의 ‘고(Go)’ 버전 1.18은 지난 2012년 이 프로그래밍 언어가 공개된 이래 가장 중요한 변화를 도입한다. 

제네릭(Generics) 기능을 추가한 ‘고 1.18’이 두 번째 베타 릴리즈로 이동했다. 한편 고 언어 개발팀은 정식 버전 출시를 당초 계획된 2월이 아닌 3월로 연기했다고 전했다. 고 1.18 릴리즈 캔디데이트는 2월 중 나올 예정이다. 
 
ⓒPaweł Czerwiński (CC0)

개발팀에 따르면 지난 1월 31일 발표된 두 번째 베타 버전에서는 안정적인 최종 릴리즈를 위해 제네릭의 일부 버그가 수정됐다. 제네릭은 이 프로그래밍 언어가 출시된 이래 가장 중요한 변화로 불려왔다. 첫 번째 베타는 2021년 12월 14일 공개됐다. 이제 고 언어 서버 gopls비주얼 스튜디오 코드 고 확장은 제네릭을 지원한다. 

고 1.18 베타 1에서 매개변수화된 유형을 사용하는 제네릭 코드 지원이 포함됐다. 제네릭 프로그래밍은 함수과 데이터 구조를 제네릭 형식으로 표현할 수 있도록 하는 향상된 기능이다. 또한 제네릭은 코드를 공유하고 프로그램을 더 쉽게 빌드할 수 있는 빌딩 블록을 제공한다. 

첫 번째 고 1.18 베타 버전은 가장 많이 다운로드된 고 베타였으며, 이전 베타보다 2배 많은 다운로드 수를 기록했다고 개발팀은 밝혔다. 기존 도구 체인과 함께 두 번째 베타를 설치하려면 다음을 실행해야 한다.   
 
go install golang.org/dl/go1.18beta2@latest
go1.18beta2 download

그다음 개발자는 코드 변환 없이 대체해서 더 좋은 성능을 낼 수 있는(drop-in replacement) ‘고 1.18 베타 2’를 실행할 수 있다. 자세한 다운로드 옵션은 이곳(https://go.dev/dl/#go1.18beta2)을 참조하라. 

첫 번째 베타 릴리즈를 발표한 블로그 게시물에서 고 언어 개발팀은 중요한 기능이 추가됐을 때 새로운 버그가 발견되는 게 일반적이며, 제네릭도 마찬가지일 것이라고 언급했다. 따라서 개발자는 고 베타 버전에서 제네릭 기능을 사용할 때 적절한 주의를 기울여야 한다고 개발팀은 권고했다. 특정 종류의 재귀 제네릭 유형은 다음 릴리즈로 연기됐다.

하지만 일부 얼리 어답터는 베타 버전에 ‘매우 만족’했다고 개발팀은 말했다. 지난 2019년 7월 블로그 게시물에 의하면 고 언어는 제네릭 프로그래밍의 한 형태인 인터페이스 유형을 가지고 있었지만 고 개발자들이 원하는 기능을 완전히 제공하진 못했다. 이를테면 제네릭 기능을 선호하는 개발자들은 슬라이스의 요소 유형을 신경 쓰지 않고 Reverse 기능을 사용하길 원했다.

릴리즈 노트는 이곳(tip.golang.org)에 게시돼 있다. 이 밖에 고 1.18의 새로운 기능은 다음과 같다. 

• 퍼징 기반 테스트 작성이 기본 지원된다. 이는 프로그램 충돌을 일으키거나 잘못된 답변을 반환하는 입력을 검사한다. 단, 현재는 실험적 기능으로 제공된다. 

• 개발자가 여러 고 모듈로 동시에 작업할 수 있는 고 워크스페이스 모드(Go workspace mode)가 지원된다. 이는 대규모 프로젝트에서 유용하다고 개발팀은 전했다. 

• 확장된 go version -m 명령이 컴파일러 플래그 등의 빌드 세부정보를 기록한다. 

• GOAMD64 환경 변수를 통해 AMD64 아키텍처의 4가지 버전 가운데 하나를 선택할 수 있다. 

• 이제 윈도우/ARM 및 윈도우/ARM64 포트가 비협조적 선점(non-cooperative pre-emption)을 지원한다. 이 기능을 4가지 윈도우 포트에 제공하고, 장기간 차단되는 Win32 기능을 호출할 때 발생하는 버그를 해결한다. 

• 이제 GC(Garbage Collector)에서 실행 빈도를 결정할 때 힙(heap)이 아닌 GC 작업 소스가 포함된다. 이렇게 되면 GC 오버헤드를 더 정확하게 예측할 수 있다고 개발팀은 설명했다. 

고 1.17은 2021년 8월 출시됐다. 도커 컨테이너 시스템 개발에 사용된 것으로 알려진 고 언어는 강력한 동시성을 지원하는 단순하고 배우기 쉬운 프로그래밍 언어로 설계됐다. ciokr@idg.co.kr
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: ITWorld 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 편집인 : 박재곤 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.