以下の内容はhttps://devlights.hatenablog.com/entry/2025/02/04/073000より取得しました。


Goメモ-538 (Goのランタイムバージョンを取得)(runtime.Version, debug.BuildInfo.GoVersion)

関連記事

GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ

概要

以下、自分用のメモです。たまに使いたいときによく忘れるのでここメモメモ。。。

たまにですが、コード上でGoのバージョンが取得して利用したいときがあります。

ランタイムバージョンは runtime.Version() から取得可能です。また、debug.BuildInfo.GoVersion でも取得出来ます。

サンプル

package runtimes

import (
    "fmt"
    "runtime"
    "runtime/debug"
)

// RuntimeVersion は、runtime.Version() のサンプルです。
func RuntimeVersion() error {
    // runtime.Version() で 現在利用している Go のバージョンが取得できる
    ver := runtime.Version()
    fmt.Println(ver)

    // debug.ReadBuildInfo() からも取得することが出来る
    info, ok := debug.ReadBuildInfo()
    if !ok {
        return fmt.Errorf("failed: debug.ReadBuildInfo()")
    }
    fmt.Println(info.GoVersion)

    return nil

}

実行

$ task
task: [build] go build -o "/workspace/try-golang/try-golang" .
task: [run] ./try-golang -onetime

ENTER EXAMPLE NAME: runtime_version

[Name] "runtime_version"
go1.23.5
go1.23.5


[Elapsed] 44.09µs

参考情報

https://pkg.go.dev/runtime@go1.23.5#Version

https://pkg.go.dev/runtime/debug@go1.23.5#BuildInfo

個人的Goのおすすめ書籍

個人的に読んでとても勉強になった書籍さんたちです。


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。




以上の内容はhttps://devlights.hatenablog.com/entry/2025/02/04/073000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14