常用漢字を取得するgolang packageを作った

おもしろい記事を見つけました。

常用漢字の中からランダムで元号を生成するコマンドを作りました

気になったのでソースを覗いたら常用漢字がベタ書きされていました。

https://github.com/suzuki86/gengo-generator/blob/master/main.go#L26-L2166

そして思いました。

常用漢字をコードポイントで計算 or 取得できないものだろうか:thinking:と。

コードポイントの方は調べたら結構バラバラだったので無理そうでした。

取得はAPIは見つからなかったものの、Wikipediaに一覧があったためそこから取得することにしました。


Repository

https://github.com/178inaba/go-joyokanji


GoDoc

まだドキュメント全然書いてないですが。

https://godoc.org/github.com/178inaba/go-joyokanji


使い方

joyokanji.List() で常用漢字のリストが取得できます。

型は []rune です。

package main

import (
"fmt"
"log"

"github.com/178inaba/go-joyokanji"
)

func main() {
ks, err := joyokanji.List()
if err != nil {
log.Fatal(err)
}

for _, k := range ks {
fmt.Printf("%#U\n", k)
}

fmt.Printf("Total: %d.\n", len(ks))
}


結果

U+4E9C '亜'

U+54C0 '哀'
U+6328 '挨'
...
U+67A0 '枠'
U+6E7E '湾'
U+8155 '腕'
Total: 2136.


gengo-generator

自分も元号ジェネレータを書いてみました。


インストール

$ go get -u github.com/178inaba/go-joyokanji/cmd/gengo-generator


使い方

$ gengo-generator

尿球
$ gengo-generator
胞膨
$ gengo-generator
食乱
$ gengo-generator
遠腰
$ gengo-generator
汗逆

食乱は治安が悪そうな時代ですね:sweat: