2016/05/31

golang 入門した

ちょっととあるコマンドラインツール作ろうと思って、また gem で作ろうかと思ったんだけど Windows でも動かせるようにしたいし、使う人に Ruby 入れさせるのもアレなので、golang で作ってみようと思った。

土日ぐらいで A Tour of Go. を始めとしていろんな入門エントリ読んで、とりあえず手始めに github.com/pinzolo/casee とかいうライブラリ作ってみた。

とりあえずテストは通るし、動いている。

golang にて文字列のn番目の文字を取得する

文字列 s に対して、s[0] は最初のバイトを返すので、一旦 rune スライスを作成しないと n 番目の文字は取得できない。
package main
import (
"fmt"
)
func main() {
s := "日本語"
fmt.Println(string(s[0])) // => æ
fmt.Println(string(getRuneAt(s, 0))) // => 日
}
func getRuneAt(s string, i int) rune {
rs := []rune(s)
return rs[i]
}
view raw get_rune_at.go hosted with ❤ by GitHub