第6章 Go Toolset 1.23 の変更点


RHEL は、バージョン 1.23 で Go Toolset を提供します。主な機能拡張は、次のとおりです。

  • for-range ループは、次のタイプのイテレーター関数を受け入れます。

    • func(func() bool)
    • func(func(K) bool)
    • func(func(K, V) bool)

      for-range ループの反復値は、イテレーター引数関数の呼び出しによって作成されます。参照リンクは、アップストリームのリリースノート を参照してください。

  • Go Toolchain により、使用状況や破損統計情報を収集できます。これは、Go チームが Go Toolchain がどのように使用され、どのように機能するかを理解するのに役立ちます。デフォルトでは、Go Telemetry はテレメトリーデータをアップロードせず、ローカルにのみ保存します。詳細は、アップストリームの Go Telemetry ドキュメント を参照してください。
  • go vet サブコマンドには、参照ファイルで使用する Go のバージョンに対して new ですぎるシンボルへの参照をフラグを立てる stdversion アナライザーが含まれます。
  • cmd および cgo 機能は、C リンカーにフラグを渡すための -ldflags オプションをサポートしています。go コマンドは、非常に大きな CGO_LDFLAGS 環境変数を使用する場合に、argument list too long エラーを回避するために、このフラグを自動的に使用します。
  • trace ユーティリティーは、部分的に壊れたトレースを許容し、トレースデータを回復しようとします。これは、トレースがクラッシュにつながる可能性があるため、クラッシュの場合に役に立ちます。
  • 未処理のパニックまたはその他の致命的なエラーの後にランタイムによって出力されるトレースバックには、goroutine のスタックトレースを最初の goroutine と区別するためのインデントが含まれます。
  • プロファイルガイドによる最適化を使用したコンパイラービルド時間のオーバーヘッドが 1 桁のパーセンテージに削減されました。
  • 新しい -bindnow リンカーフラグにより、動的にリンクされた ELF バイナリーをビルドするときに即時の関数バインディングが有効になります。
  • //go:linkname リンカーディレクティブは、定義で //go:linkname でマークされていない標準ライブラリーおよびランタイムの内部シンボルを参照しなくなりました。
  • プログラムが Timer または Ticker を参照しなくなった場合、Stop メソッドが呼び出されていなくても、これらはガベージコレクションによってすぐにクリーンアップされます。Timer または Ticker に関連付けられたタイマーチャネルは、現在バッファーなし (容量 0) になっています。これにより、Reset メソッドまたは Stop メソッドが呼び出されるたびに、呼び出し後に古い値が送受信されなくなります。
  • 新しい unique パッケージは、interning または hash-consing などの値を正規化する機能を提供します。
  • 新しい iter パッケージは、ユーザー定義のイテレーターを使用するための基本的な定義を提供します。
  • slices および maps パッケージには、イテレーターで使用するいくつかの新しい関数が導入されています。
  • 新しい structs パッケージは、メモリーレイアウトなど、含まれる struct 型のプロパティーを変更する struct フィールドの型を提供します。
  • 次のパッケージにマイナーな変更が加えられました。

    • archive/tar
    • crypto/tls
    • crypto/x509
    • database/sql
    • debug/elf
    • encoding/binary
    • go/ast
    • go/types
    • math/rand/v2
    • net
    • net/http
    • net/http/httptest
    • net/netips
    • path/filepath
    • reflect
    • runtime/debug
    • runtime/pprof
    • runtime/trace
    • slices
    • sync
    • sync/atomic
    • syscall
    • testing/fstest
    • text/template
    • time
    • unicode/utf16

詳細は、アップストリームのリリースノート を参照してください。

Go Toolset は Rolling Application Stream であり、Red Hat は最新バージョンのみをサポートします。詳細は、Red Hat Enterprise Linux Application Streams ライフサイクル ドキュメントを参照してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat