Go

Goの型アサーションと型変換

Go

(更新) この記事に書かれていることは大体、以下のStackoverflowのベストアンサーに書かれていることから学ばせて頂いた。 go - X does not implement Y (... method has a pointer receiver) - Stack Overflow 毎日、少しづつGoでプログラムを書いているの…

Goにはなぜ基本的なデータ構造が標準ライブラリにないのか?

Go

だらだらとpackageのdocumentを読んでいる。楽しくて仕方が無いのだけれど、変なことに気付いた。Goには標準的なデータ構造のライブラリが無い。例えば基本的なSetすらない。色々なpkgでtreeは実装されているが、treeのライブラリは無い。 (BigNumberや複素…

Goのパッケージ、ディレクトリ構造とエラー処理

Go

ここ数日悩んでいるGoのパッケージ、ディレクトリ構造とエラー処理の話。 何気にGoDocにgo buildのドキュメントもあるんだなぁと気付いた。考えてみれば、Goのソースは全て公開されているのだった。goコマンドのソースを眺めてみるとちょっと面白かった。go…

Goでパッケージ名とコマンド名を同じにしたい場合に

Go

微妙にGoのディレクトリ命名規則がイケていない気がしてならない。 先日も書いたがGoのディレクトリ名とパッケージ名の間には以下の規則が存在。 パッケージ名とディレクトリ名は同じにする 実行ファイルを作成する場合のみ、例外としてパッケージ名はmainに…

Goに関するアレやコレや

Go

Go CLI 先日のGoConの素晴しい発表に続いて、別に優れた発表資料が公開されていた。 CLI ツール開発を支える技術 2019春 CLI ツール開発を支える技術 2019春 / Techniques that support building CLI tools, 2019 Spring - Speaker Deck この資料はまとめか…

WSLでGoのdlvが動かないw

Go

うーん、さんざんWSLを推しておいてアレだけどもWSLでdlvが動かない。 dlv version等は大丈夫だが、dlv debugとやるとpromptが返ってこない。 一応、中で動いてはいるようでCtrl-Cを押すと対象プログラムが動いてその出力だけが出る状態。 このせいか、Remot…

Goのメモ

Go

Goのパッケージ名の衝突回避 How to import and use different packages of the same name in Go language? - Stack Overflow Goはパッケージ名が自由に付けられるので簡単に衝突する。この場合、import文で別名を付けられる。 Goのmoduleの解説 GoBlogのモ…

Go言語の復習

Go

Goの復習を行っている。 2年程前にちゃんと勉強したのだが、その後、使う機会に恵まれずまた忘れてしまっていた。 Goはオブジェクト指向言語ではないが、メソッドやインターフェイスがありその点は似ている。ファイルの扱い等もReaderであり、Java等の経験が…