LoginSignup
3
1

More than 5 years have passed since last update.

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

Posted at

おもしろい記事を見つけました。
常用漢字の中からランダムで元号を生成するコマンドを作りました

気になったのでソースを覗いたら常用漢字がベタ書きされていました。
https://github.com/suzuki86/gengo-generator/blob/master/main.go#L26-L2166

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

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

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

Repository

GoDoc

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

使い方

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:

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1