Go 1.18
WSLのGoのバージョンをあげて、GitHub Actionsのバージョン指定も1.18にしてみた。 問題なくCIが通ったので、大丈夫そう。
POSTS
WSLのGoのバージョンをあげて、GitHub Actionsのバージョン指定も1.18にしてみた。 問題なくCIが通ったので、大丈夫そう。
細かい変換を関数化してみた。 strconv.Atoiをエラーだったらデフォルト値で返すやつとか。 titleやtempoを[]byteにして返すやつとか。
mainのテストは、os.Argsを直接設定するという割と無理やりな書き方でテストしていたけれど、処理部分を別関数にしたので、引数を変えて正常系と異常系をテストし分けることができるようになった。
Rust版でやっているように、main関数から処理を分離してrun関数を作ってみた。
入力ファイルをos.Args[1]で取得していたので、引数指定しないと範囲外アクセスでpanicしていた。 flagパッケージ使ってflag.Arg(0)で取得するようにしたので、引数指定しなかった場合にはファイルなしエラーで終わるようになった。 もっと親切にするなら、エラー終了ではなくヘルプ表示にする Read more
EOTとかbyteのスライスをconstで定義しようとしてできなかった。 const EOT = []byte{0x00, 0xFF, 0x2F, 0x00} $ go run cmd/mdmml/main.go # github.com/umemak/mdmml ./mdmml.go:10:7: const initializer []byte{...} is not a constant The Go Programming Language Specification - The Go Programming Language 文字列リテラルが許されるならbyteスライスも許されてもよいではないかと思ったけれど、ダメらしい。 varで我慢する。
golintのexported %s %s returns unexported type %s, which can be annoying to useを解消したい。 interfaceを定義して回避するのが一般的?らしい。 structが入れ子になっていて、内側のstructにメソッドが定義されていると、cannot call pointer methodとなり呼べない。 https://play.golang.org/p/yvWspYJnYSv pointerを返してあげれば良い。 https://play.golang.org/p/l_l4tMAD-Bd シング Read more
https://dena.connpass.com/event/150676/ 19:25 - 19:30 会場説明 @imoty DeNA TechCon 2020やります 19:30 - 19:50 20分枠 @suhirotaka / [Go活用事例]安全運転支援サービスを支える運用サイト / オートモーティブ事業本部スマートドライビング部システム開発グループ https://speakerdeck.com/suhirotaka/gohuo-yong-shi-li-an-quan-yun-zhuan-zhi-yuan-sabisuwozhi-eru-yun-yong-guan-li-sisutemu goで何を作っているか DRIVE CHART AIはPython Railsも使っている 運用管理のWEBシステム 管理画面をGoで作った理由 2年 Read more
https://mercari.connpass.com/event/141122/ 19:40 ~ morikuni GopherCon 2019 GopherConとは 2014年デンバーで始まった。いろんなところでやっている。 今年はサンディエゴで開催 1800人を超える参加者 Mercariの関わり Silver Sponsor BOLD Scholarship 学生向け 11+2名参加 1日目はワークショップ 2日目3日目は発表がメイン 4日目はコミュニティデイ LTとか One MOre Thing Generics(Contracts) Interfaceと Read more