[Golang]x/net/htmlパッケージを使ってhtmlを扱う

 ちょいとGolangでhtmlオブジェクトのパースをすることがあり、それに関して忘備録がてら書いていきます。とはいえ、godocをスラスラ読める方には特に必要ないかもしれませんが…。 はじめに  swimmyというGo …

vscodeのgolang拡張でgodefがアップデートできないときの対応

久々にvscodeのGolang拡張の依存ツールをInstall/Updateしたのですが、godefでエラーが起きたので対策をば。 エラーメッセージ なんかabortingとか出ます。どうやらgitかリポジトリの問題っ …

[Golang]文字列の先頭一文字を取り出す[memo]

マルチバイトを考えない場合はs[0]とかで済みますが、マルチバイトを考えたい場合は別です。 単純な方法: []runeにキャストする []runeにキャストすることで、マルチバイトだろうがそうでなかろうが文字列は全てru …

[Golang]runeのバイト長を調べる[memo]

rune一文字のバイト長を調べる方法がちょっとわからなかったので、調べました。…標準ライブラリにあった…そりゃそうだよね…orz utf8パッケージを使う utf8パッケージにRuneLenメソッドがあるのでそこにバイト …

[Golang]typeにより構造体のスライスに関数を追加することができる[memo]

 Golangのtypeは便利なもので、これによりある型に別の名前を付けたり、スライスに別名を付けて関数を追加できる。  今回はスライスに関数を追加するメモ。 スライス自体を別の型として扱うことができる  type NA …

[Golang]io.Writerとio.Readerがいる処理のテストにはbytes.Buffer[memo]

 io.Writerやio.Readerを引数に取る処理において、一時ファイルを作る処理を書いたり、実行後にその内容を確認するのが面倒、という場合、Bytes.Bufferが便利である。 bytes.Bufferとは   …

[Golang]同一文字列を繰り返して出力する[memo]

 ある文字列を任意回数分繰り返して変数に代入したくなり、探したらそれ用の関数があったのでメモです。  stringsパッケージはいろいろと便利ですね。 strings.Repeat関数で繰り返せる rep := stri …

[Golang]import cycle not allowedについて[memo]

 自分用のパッケージを分けて便利に使おうとしていたところ、思わぬエラーが出たので、メモです。 import cycle not allowedとは  循環参照が生じているよ、というエラーです。  要するにパッケージAでパ …