golang walkでタイトルバーにアイコンを表示する方法の質問があったので回答してみました。
■アイコンファイルをロードする方法
icon, iconErr := walk.Resources.Icon("foo.ico")
err := MainWindow{
AssignTo: &mainWin,
Title: "MainWindow",
Icon: icon,
(snip)
}.Create()
■リソースからアイコンをロードする方法
rsrcでリソースにバインディングします。
rsrc -arch amd64 -manifest foo.exe.manifest -ico foo.ico -o rsrc.syso
ソースコードでは次のように呼び出します。
"3"はrsrcすると、アイコンのリソースIDが"3"になっていたのでこのように指定しています。
icon, iconErr := walk.Resources.Icon("3")