こんばんは、自宅のガスコンロが新しくなってから、魚焼き器の火力が強すぎ、食パンを焼くのに難儀していたので、 ようやく次男が湘南新宿ラインを燃やして、ダメにしたトースターを買うことにしました。(全額ポイントでw)。@kjunichiです。
背景
細々と続けているElectronベースのThree.jsを使った3Dマスコットのgopheronの開発で最近学んだ Go関連の学習記録
Electronの1.4系から、とつぜん動作が遅くなるなぞの現象に遭遇して、悩み中。仕方ないので、 1.3系をローカルに入れ、これを使うことに。
その辺りの実装で必要となったGoの学習記録。
ファイル関連
ファイルの存在チェック
electronがローカルでインストールされてるかを調べた。
func Exists(filename string) bool { _, err := os.Stat(filename) return err == nil } // ・・・ if Exists(localElectron) { return filepath.FromSlash(localElectron) }
Windows向けのパスにしてシェルに渡す
存在チェックのようにgoのライブラリには「/」のファイルセパレータで結構いけるようだが、 shellを呼ぶような際には以下のような変換が必要だった。
filepath.FromSlash("./test/sub/command.exe")
参考記事
関連記事
- Goオールスターズ2に行くので、gopheronをGo言語で動かせるようにした #websocket
- ElectronでWebGL(three.js)使ってデスクトップマスコット作った際に分かったこと
- Go言語でコマンドプロンプトに画像を表示するコマンドを作って、Vimの:terminalで表示させた
- goroutineを使って高速にLAN内の*.localなホスト名の一覧を取得するツールを作った