오늘 Go 프로젝트는 Go 6번째 안정된 메이저 릴리스인 Go 1.5를 발표하였다.

 

이 릴리스에는 구현에 대한 중대한 변경이 포함되어 있다. 컴파일러 툴 체인이 C에서 Go로 바뀌었고, Go 코드 베이스에서 C 코드의 마지막 흔적이 삭제되었다. 가베지컬렉션이 완전히 다시 설계되어 가베컬렉션에 의한 일시 정지 시간이 극적으로 단축되었다. 스케줄러에 관련된 개선으로 기본 GOMAXPROCS (동시에 실행되는 goroutine ) 1에서 사용 가능한 CPU 수로 변경할 수 있도록 되었다. 링커에 대한 변경으로 Go 패키지를 Go 프로그램에 링크되는 공유 라이브러리로, 혹은 C 프로그램이 링크 또는 로드 할 수 있는 아카이브 또는 공유 라이브러리로 할 수 있다.

 

이 릴리스에는 개발자 도구에 대한 개선도 포함되어 있다. "internal" 패키지 지원에 의해 패키지 간 구현의 상세를 공유할 수 있다. 외부 의존 관계 「벤더링」의 실험적인 지원은 Go 프로그램의 의존 관계 관리를 위한 표준 구조를 위한 스텝이다.  새로운 "go tool trace" 명령을 사용하면, 수행 시 새로운 추적 인프라에 의해서 생성되는 프로그램 트레이스를 표시할 수 있다. 새로운 "go doc" 명령에서는 Go 명령 라인 인터페이스에서 패키지 문서의 열람을 보다 쾌적하게 할 수 있게 되었다.

 

다양한 새로운 운영 체계 및 아키텍처로의 이식도 있다. 보다 성숙한 새로운 이식은 darwin/arm, darwin/arm64(Apple iPhone 디바이스 및 iPad 장치), linux/arm64 이다. Ppc64 ppc64le(IBM PowerPC 64비트, 빅 엔디언과 리틀 엔디언)의 실험적인 지원도 있다.

 

darwin/arm64 이식 및 외부 링크 기능은 Android 장치 및 iOS 기기 상에서 앱 개발에 Go을 어떻게 사용할 수 있는지를 시험하는 실험으로 Go mobile 프로젝트를 촉진한다.(Go mobile의 자체는 이 릴리스의 일부가 아닙니다)

 

언어의 유일한 변경 사항은 map의 리터럴 구문에 대한 제한 철폐이며, 보다 간결하게 슬라이스 리터럴과 정합성을 갖게 되었다.

 

표준 라이브러리에도 많은 추가 및 개선이 가해지고 있다. flag 패키지에서는 더 보기 쉬운 사용 상황 메시지가 표시된다. math/big 패키지에서는 임의의 밀도 부동 소수 점에서 계산하기 위한Float 형이 제공되게 된다. Linux 시스템 및 BSD 시스템의 DNS 리졸버의 개선에서는 참조를 지정하는 프로그램에 대한 cgo 요건이 삭제되었다. go/types 패키지는 golang.org/x/tools 저장소에서  표준 라이브러리로 이동 되었다.(go/constant 패키지 및 go/importer 패키지는 이 이동의 영향으로 작성되었다) reflect 패키지는기존의 SliceOf 함수와 비슷한 새 ArrayOf 함수 및 FuncOf 함수를 제공하고 있다. 물론 일반적인 세부 수정 점 및 개선점 리스트도 있다。

 

자세한 것은 상세한 릴리스 노트를 참조해라.

 

 

출처: http://google-opensource.blogspot.jp/2015/08/go-15-is-released.html

저작자 표시
신고
by 흥배 2015.10.12 08:00
| 1 |

티스토리 툴바