2021-01-01から1年間の記事一覧

【Go】AtCoderでよく使う関数

はじめに goでAt Coderを解くにあたってC++で書かれた解説コードをGoに焼き直す作業を頻繁に行っています。その際「C++に有ってgoにはない」メソッドや文法が多くて結構困ります 冗長なだけなら「goだし仕方ないか」で済むのですが、明らかにあった方が良い…

ssh接続を少し簡単にするcli

https://github.com/dasuken/sshgengithub.com ssh接続の度に.ssh/configファイル編集するの面倒だなーと思って作りました 使い方 go get github.com/dasuken/sshgen sshgen add あとはinteractiveに必要な情報を入力していただければ設定ファイルに書き込み…

rune型は単なるint32のエイリアス

runeの疑問 rangeでrune型を取り出す際 func main() { str := "A" var x rune for i, v := range str { x = v x = str[i] // 代入出来ない } } 値はrune型。けどインデックスアクセスで取得した値はrune型じゃない。 どちらもstring()でキャストしたらAなの…

【Go】実行速度と汎用性を両立させたContains関数作ってみた

きっかけ Goの可変長配列であるスライス。配列の実態を考慮する必要がないシンプルさが売りです。 が、シンプルすぎるが故欲しい関数が実装されていない事もしばしば。特に特定の値が存在するか判定するContains関数などは使いたい場面が多いです。 そこで今…

【Golang】urfave/cliを使って計算機アプリをcliにする

Urfave golangのcli作成ライブラリです。 CLIを実装する上で面倒な サブコマンド リッチなヘルプインターフェース 等の作成をサポートしてくれます。 今回の記事では基本的なメソッドや構造体を説明した後、演習として実際に計算機をcli化させる過程を紹介し…