Go 1.5リリース

2015年8月19日、Goプロジェクトは、Go言語の6番目の安定版リリースであるGo 1.5を発表できることを誇りに思っています。







このバージョンでは、言語の実装に多くの大きな変更が加えられました。 コンパイラとランタイムはCからGoブロードキャストされ、GoコードベースからCの最後の残りを削除しました。 ガベージコレクタは完全に書き直されガベージコレクション中の一時停止大幅に削減されました 。 ランタイムスケジューラの付随する変更により、 GOMAXPROCS (同時に実行されているゴルーチンの数)の値を1から論理CPUの数に変更できました。 リンカの変更により、GoおよびCプログラムの両方とリンクできる動的ライブラリの形でGoパッケージを配布できるようになりました( design )。



最初の部分は、Andrew GerrandによるGoブログでの発表の無料翻訳です -blog.golang.org/go1.5



このリリースには Go 開発ツールの改善も含まれています「内部」パッケージのサポートにより、パッケージ間を簡単に実装できます。 外部依存関係の自動販売の実験的なサポートは、Goでの外部依存関係管理の実装方法を標準化する上での一歩です。 新しい「go tool trace」ユーティリティを使用すると、実行時にプログラムの進行状況を最小限の詳細で視覚化できます。 新しい「go doc」は、Goのドキュメントを表示するためのより便利なコマンドラインインターフェイスを提供します。



また、いくつかの新しいサポートされているシステムとアーキテクチャも追加されています 。 最も成熟したものは、darwin / armおよびdarwin / arm64(Apple iPhoneおよびiPad)およびlinux / arm64です。 また、ppc64およびppc64le(IBM 64ビット、ビット/リトルエンディアン)の実験的サポートを追加しました。



darwin / arm64のサポートと動的リンクの新しい機能は、Goモバイルプロジェクト -AndroidおよびIOS用のアプリケーションを作成するための実験-の鍵です。 (Goモバイルのみはこのリリースの一部ではなく、別のプロジェクトです)。



言語の唯一の変更(もちろん、下位互換性)は、mapのリテラルの制限緩和することです。これにより、場合によってはより読みやすく便利になります。



また、標準ライブラリには多くの改善と追加が行われました。 flagパッケージは、 使用法メッセージの出力をより美しく表示するようになりました 。 math / bigパッケージでは、 Float型が追加され、任意の精度の大きな浮動小数点数を処理できるようになりました。 LinuxおよびBSDシステムのDNSリゾルバーの改善により、DNSを必要とするプログラムのCGOを取り除くことができました。 go / typesパッケージは、 golang.org / x / toolsリポジトリから標準ライブラリに移動しました。 ( go / constantおよびgo / importerパッケージも同様に移動しました)。 既存のSliceOfと同様に、 ArrayOfおよびFuncOf関数がReflectパッケージに追加されました。 そして、もちろん、 マイナーな修正と改善のリスト



リリースページですべての詳細とリリースの詳細を確認できます 。 システムのリリースはこちらからダウンロードできます。



設置



Go 1.5をインストールする場合、インストール手順は常に同じです(公式ページgolang.org/dlでインストーラーをダウンロードするか、バイナリーまたはソースコードを含む.tar.gzアーカイブをダウンロードします)。 最初の方法が望ましいです。





以前のリリース(Go 1.4)を離れて、その場で以前のリリースと最新のリリースを切り替える(たとえば、バージョンのビルドを比較する)場合は、バイナリ.tar.gzパッケージをダウンロードして(標準)に展開するのが最も簡単な方法です/ usr / local:

$ ls /usr/local/go* go142 go15
      
      





/ usr / local / goにシンボリックリンクを作成して、目的のバージョンを探します。 必要に応じて、エイリアスまたはスクリプトで簡単にラップできます。

 $ cd /usr/local $ ln -nfs go142 go $ ln -nfs go150 go
      
      







参照資料



golang.org/doc/go1.5

blog.golang.org/go1.5



All Articles