2026/02/16(月) [n年前の日記]
#1 [golang] Go言語について勉強中
Windows11 x64 25H2上で、Go (golang) 1.25.7 64bit を使いながら勉強中。
◎ 異なるバージョンを共存 :
Windows11 x64 25H2上で Go 1.25.7 64bitをインストール済みだけど、Go 1.18 も共存できるようにインストールしてみたい。Go言語はそういうこともできるらしい…。
_最新 Go を捨てずに古い Go を支える ― 新旧Go環境共存術
利用する際は、go と打つ代わりに go1.18.10 と打つ。
おお…。別バージョンもインストールできた…。
_最新 Go を捨てずに古い Go を支える ― 新旧Go環境共存術
go install golang.org/dl/go1.18.10@latest go1.18.10 download
利用する際は、go と打つ代わりに go1.18.10 と打つ。
> which go1.18.10 "C:\Users\mieki256\go\bin\go1.18.10.exe" > go1.18.10 version go version go1.18.10 windows/amd64 > go version go version go1.25.7 windows/amd64
おお…。別バージョンもインストールできた…。
◎ Go 1.25.7でWalkを試用 :
Go言語で Windows用のGUIアプリを作成できるライブラリ、Walk を使ってみたい。
_lxn/walk: A Windows GUI toolkit for the Go Programming Language
以下のような出力になった。
_lxn/walk: A Windows GUI toolkit for the Go Programming Language
- github の README.md にサンプルのソースコードが載っているので、コピペして test.go として保存。
- Manifest も載っているので、コピペして test.manifest として保存。.manifest はBOM無しのUTF-8で保存せよ、ということになっているらしい?
# アプリ名を指定しつつ go mod init で依存関係を列挙する go.mod を作成。 go mod init my-walk-app # ソースコードに基づいて必要なパッケージを列挙してもらう go mod tidy # Manifestを変換するためのツール、rsrc.exe を入手 go get github.com/akavel/rsrc # Manifest を .syso に変換 rsrc -manifest main.manifest -o rsrc.syso # Goでビルド go build . # 生成されたアプリを実行して動作確認 my-walk-app.exe
以下のような出力になった。
> go version
go version go1.25.7 windows/amd64
> go mod init my-walk-app
go: creating new go.mod: module my-walk-app
go: to add module requirements and sums:
go mod tidy
> go mod tidy
go: finding module for package github.com/lxn/walk/declarative
go: found github.com/lxn/walk/declarative in github.com/lxn/walk v0.0.0-20210112085537-c389da54e794
go: finding module for package golang.org/x/sys/windows
go: finding module for package github.com/lxn/win
go: finding module for package gopkg.in/Knetic/govaluate.v3
go: downloading golang.org/x/sys v0.41.0
go: found github.com/lxn/win in github.com/lxn/win v0.0.0-20210218163916-a377121e959e
go: found gopkg.in/Knetic/govaluate.v3 in gopkg.in/Knetic/govaluate.v3 v3.0.0
go: found golang.org/x/sys/windows in golang.org/x/sys v0.41.0
> go get github.com/akavel/rsrc
go: added github.com/akavel/rsrc v0.10.2
> rsrc -manifest main.manifest -o rsrc.syso
> go build .
> my-walk-app.exe
[ ツッコむ ]
以上です。