takuroooのブログ

勉強したこととか

golang

Go JSONをデコードする

jsonパッケージのDecoderを使うとjsonデータを簡単にパースできる。 golang.org 目次 目次 変数名で対応付ける 構造体タグ名で対応付ける 一致しないkeyがあったときにエラーを返す 変数名で対応付ける package main import ( "encoding/json" "fmt" "string…

Go シグナルをチャネルで受け取る

golang.org signal.Notifyを使うとチャネルでシグナルを受け取ることができる。 package main import ( "fmt" "os" "os/signal" "syscall" ) func main() { sigCh := make(chan os.Signal) signal.Notify(sigCh, syscall.SIGINT) s := <-sigCh fmt.Printf("%…

Go path/filepathでファイルパスを操作する

パス名の操作に便利なfilepathを触って見たのでまとめていく。 golang.org 目次 目次 filepath.Abs filepath.Base filepath.Clean filepath.Dir filepath.EvalSymlinks filepath.Ext filepath.Glob filepath.Join filepath.Match filepath.Rel filepath.Spli…

Go strings/Reader

strings.Readerを触ってみた。 golang.org 目次 目次 NewReader Read ReadAt ReadByte Reset Len/Size Seek NewReader strings.Readerのポインタを生成する。 reader := strings.NewReader("abcdef") fmt.Printf("%T %v\n", reader, reader) // *strings.Rea…

Go stringsで文字列を操作する

Goの文字列操作を勉強したのでそのまとめ。 目次 目次 大文字小文字変換 タイトルケースに変換 文字列を比較 文字列の中に特定の文字列が存在するか 指定した文字数をカウント 空白文字でsplit 先頭/終端文字列の一致確認 文字列のインデックスを取得 slice…

GoのArrayとSliceの違い

先週からGoを勉強し始めた。 blog.golang.org ArrayとSliceがいまいちわからなかったが、この記事を読んでArrayとSliceの違いを学んだので自分なりにまとめてみる。 目次 目次 ArrayとSliceの違い(記事を読む前の認識) Array Array型とはなにか Array型の…