golang
概要 参考情報 概要 とても勉強になるリポジトリを見つけたので、忘れない内にメモメモ。。。 書籍 「Go言語による並行処理」、「プログラミング言語Go」のサンプルを元にして作ったと説明されていますね。 github.com 参考情報 本ブログでもGoの非同期処理…
概要 概要 結構、周りから違いが分からないと聞かれることが多いので、ここにメモメモ。。。 実際に見たほうがわかりやすいと思いますので、以下にサンプルを。 package types import ( "strings" "github.com/devlights/gomy/output" ) type typeAlias = st…
概要 概要 以下自分用のメモです。忘れないうちにここにメモメモ。。。 まだ、読めていないのですが Go 1.17 と結構最近のバージョンを対象としてくれているので助かりますね。 基本的な言語機能からスタートしているので、Tour of Go をやった後とかに読む…
概要 普通にアプリ作って確認 os/user or net パッケージを使うと? CGO_ENABLED=0 を指定 osusergo, netgo のタグをビルド時に付与 参考情報 概要 以下自分用のメモです。よく忘れるのでここにメモメモ。。。 以下はLinux上での話です。 Goでは、標準ライブ…
概要 サンプル 参考情報 概要 以下自分用のメモです。よく忘れるのでここにメモメモ。。。 別に (*exec.Cmd) 専用でもなんでもないのですが、コマンド引数を指定する際に引数のリストをスライスで持っている場合、go の three dot (...) の機能を使って、そ…
概要 サンプル 参考情報 概要 以下自分用のメモです。よく忘れるのでここにメモメモ。。。 外部コマンド実行時に特定のディレクトリをワーキングディレクトリにして開始したい場合があります。 その場合は (*exec.Cmd).Dir に値を設定することで可能となりま…
概要 サンプル 参考情報 概要 以下自分用のメモです。よく忘れるのでここにメモメモ。。。 外部コマンド実行時に追加の環境変数を指定したい場合がたまにあります。 その場合は (*exec.Cmd).Env に値を追加したスライスを再設定することで可能となります。 …
概要 サンプル 概要 たまーに必要になるときがあるので、ここにメモメモ。。。 gitとかの最近のソース管理ソフトウェアは、「コミット時の日付」を復元してくれません。pullするとその時点の日付でファイルが作成されます。(当たり前ですが) SVNではオプシ…
概要 サンプル 参考情報 概要 以下自分用のメモです。よく忘れるのでここにメモメモ。。。 サンプル package strconvs import ( "strconv" "github.com/devlights/gomy/output" ) // BinToHex -- 2進数文字列から16進数文字列へ変換するサンプルです。 func …
概要 サンプル 参考情報 概要 以下自分用のメモです。よく忘れるのでここにメモメモ。。。 サンプル package strconvs import ( "strconv" "github.com/devlights/gomy/output" ) // HexToBin -- 16進数から2進数文字列へ変換するサンプルです。 func HexToB…
概要 サンプル 参考情報 概要 以下自分用のメモです。よく忘れるのでここにメモメモ。。。 サンプル package strconvs import ( "strconv" "github.com/devlights/gomy/output" ) // BinToDec -- 2進数文字列を10進数に変換するサンプルです. // // REFERENC…
概要 サンプル 参考情報 概要 以下自分用のメモです。よく忘れるのでここにメモメモ。。。 サンプル package strconvs import ( "strconv" "github.com/devlights/gomy/output" ) // HexToDec -- 16進数文字列を10進数に変換するサンプルです. func HexToDec…
概要 サンプル 参考情報 概要 以下自分用のメモです。よく忘れるのでここにメモメモ。。。 strconvパッケージに、 ParseInt という関数がありまして、多分大抵の人が利用したことがあると思います。 この ParseInt 関数さん、引数が3つとなっていて、一つ目…
概要 サンプル 参考情報 概要 以下自分用のメモです。よく忘れるのでここにメモメモ。。。 strconvパッケージに、 ParseInt という関数がありまして、多分大抵の人が利用したことがあると思います。 この ParseInt 関数さん、引数が3つとなっていて、一つ目…
概要 参考情報 概要 タイトルには Scanner とか書いているのですが、別段Scanner限定な訳ではないです。 bufio.Scanner 便利ですよねー。これ使ってファイルI/Oしている方多いと思います。 基本的にGoは処理速度が速いので、あまり気にならないと思いますが …
概要 サンプル 参考情報 概要 以下は自分用のメモです。よく忘れるので、ここにメモメモ。。 常に必要じゃないんですが、たまにシグナルをちゃんとトラップしていろいろ動いてくれるアプリを作るときがあります。 そんなときに、JavaVMみたいにSIGQUIT受けた…
概要 元の go.mod Go 1.18 をダウンロードしてインストール go.mod を 1.18 にバージョンアップ 概要 以下は自分用のメモです。よく忘れるので、ここにメモメモ。。 先日、Go 1.18 がリリースされました。 devlights.hatenablog.com ちょっと試してみようと…
概要 サンプル 参考情報 概要 以下は自分用のメモです。よく忘れるので、ここにメモメモ。。 Goで、ディレクトリを作成したりする際に os.Mkdir() とか os.MkdirAll() を使うと思いますが この関数には、引数でパーミッションを渡すことになります。 で、通…
概要 参考情報 概要 以下は自分用のメモです。よく忘れるので、ここにメモメモ。。 Goでたまに for ループで 2つの変数を定義してループさせたいときがあります。 他の言語だと、例えばこんな感じ。 for (int i = s.Length-1, j = 0; i >= 0; i--, j++) { } …
概要 本家の情報 動画 その他テックブログなど 概要 ついに Go 1.18 が 先日(2022-03-16)リリースされましたね。 いきなり全ての環境が Go 1.18 に変わることはないので、個人的にはのんびり勉強していくつもりです。 とりあえず、忘れないうちに情報をメ…
概要 Getリクエスト POSTリクエスト 概要 以下は自分用のメモです。よく忘れるので、ここにメモメモ。。 Getリクエスト // // http.Get() を使って HTTP GET リクエストを試してみるサンプルです。 // // リクエストの発行先は JSONPlaceholder (https://jso…
概要 サンプル 参考情報 概要 以下は自分用のメモです。よく忘れるので、ここにメモメモ。。 Goで実行時に型を動的に知りたいというのは、個人的にあまり出番がないのですが、必要なときもあります。 サンプル package reflects import ( "errors" "fmt" "re…
概要 概要 以下は自分用のメモです。 Goの情報を探すときに、よく利用しているサイトの一覧です。 有名どころばっかりですが。 以下、順不同。 Tour of Go -- go.dev https://go.dev/tour/welcome/1 基本中の基本。今でもたまーに確認したりしてます。 Go Ch…
概要 参考情報 概要 久しぶりにEffective Goを参照しようとしていたら、以下の1文を発見。 Note added January, 2022: This document was written for Go's release in 2009, and has not been updated significantly since. Although it is a good guide t…
概要 参考情報 概要 とてもきっちり纏められているので、忘れないうちにメモメモ。。 golang.design Goの歴史の始まりから今に至るまでの歴史が見れます。分量がすごいです。 DeepLなどのおかげで、英語だろうと中国語だろうと普通に読めるのは本当にいい時…
概要 debug.PrintStack() debug.Stack() runtime.Stack() pprof.Lookup("goroutine").WriteTo() 参考情報 概要 よく忘れるので、ここにメモメモ。。。 たまにスタックトレースを取りたいときがあったりします。 Goだと debug.PrintStack() とか debug.Stack(…
概要 参考情報 概要 情けないことに知らなかったので、忘れないうちにここにメモメモ。。。 テストするときに使うデータの置き場所っていつも data とか 適当な名前で管理していたりしたのですが go test の説明の部分に以下の記載があることを知りました。 …
概要 サンプル 概要 名前が一般的すぎて、よくURLとか探すのに苦労するので、忘れないようここにメモメモ。。。 taskfile.dev github.com Goで作られたタスクランナーです。Makeが入っていない環境(Windowsとか)でも使えるので何気に重宝しています。 各OS…
概要 Cコンパイラが無い環境でCGO_ENABLED=1だとインストールに失敗する 参考情報 概要 Goは複数のバージョンをインストールして遊ぶことがとても簡単な言語です。 基本、一つのバージョンのGoをインストールしてしまえば、後は Twitter の Goアカウントがよ…
概要 自分用のメモ 参考情報 概要 Go 1.18 のドラフトリリースノートを見ると Go 1.18 is not yet released. These are work-in-progress release notes. Go 1.18 is expected to be released in February 2022. となっているので、そろそろ近づいてきました…