いろいろ備忘録日記

主に .NET とか Java とか Python絡みのメモを公開しています。最近Go言語勉強中。

golang

Goメモ-23 (スライス, Slices, Tour of Go)

概要 サンプル スライスを関数に引数として渡す場合の注意点 概要 Tour of Go の - Slices についてのサンプル。 tour.golang.org Goのスライスは、他の言語でいう 可変長リスト のようなイメージです。 配列の一部をスライスしたものから生成することも出来…

Goメモ-22 (配列, Arrays, Tour of Go)

概要 Goの配列のクセ サンプル 概要 Tour of Go の - Arrays についてのサンプル。 tour.golang.org Goの配列は [要素数]型名 という形で宣言します。 var ( arr [2]int ) 上だと、要素数が2のintの配列を定義しています。 特殊なのが、Goでは、配列の長さ…

Goメモ-21 (50 Shades of Go, Goでよくやりがちな間違い50個)

概要 概要 いい情報見つけたので、忘れないうちにメモメモ。 devs.cloudimmunity.com Goでよくやる間違いについて、正誤を載せて書いてくれています。 ちょっと内容が古いものもありますが、問題なしです。 個人的に Using "nil" Slices and Mapsってやつは…

Goメモ-20 (構造体, Structs, Tour of Go)

概要 サンプル 概要 Tour of Go の - Structs についてのサンプル。 tour.golang.org Goの構造体はフィールドの集まりを表現します。 特に変な点はないですね。 普通に定義して普通に使います。 構造体に関しては、メソッドという概念があるのですが それは…

Goメモ-19 (ポインタ, Pointer, Tour of Go)

概要 サンプル 概要 Tour of Go の - Pointer についてのサンプル。 tour.golang.org Go には、C言語などと同様にポインタが存在します。 ポインタは、対象の値のメモリアドレスを保持します。ゼロ値はnilです。 C言語とは違い、Go ではポインタ演算は出来な…

Goメモ-18 (遅延呼び出し, Defer, Tour of Go)

概要 サンプル 概要 Tour of Go の - Defer についてのサンプル。 tour.golang.org defer は、 Go言語の特徴的な機能の一つですね。 defer ステートメントは、deferに渡した関数の実行を呼び出し元の関数の終わりまで遅延させる機能です。 他の言語でいうと…

Goメモ-17 (分岐, Switch, Tour of Go)

概要 サンプル 概要 Tour of Go の - Switch についてのサンプル。 tour.golang.org Goの switch は、他の言語に比べてとても高機能で使いやすいです。 以下のようなことが出来ます。 自動で fall-through しないので、breakを書く必要がない case に指定す…

ChromebookのLinux (ベータ版)のDebian 9 (stretch) を 10 (buster) にアップグレード

概要 busterにアップグレード前にstretchの最新版にしておく apt の設定ファイル (/etc/apt/sources.list) を調整 アップグレード実行 確認 ロケールの変更 ターミナルのプロファイルの変更 参考にした情報 概要 support.google.com にある通り、最近の Chro…

Goメモ-16 (今の環境を崩さずにお手軽に別のバージョンのgoを使う)

概要 こんな感じ 概要 やり方をちょくちょく忘れてしまうので、忘れないうちにメモメモ。 今の環境は変えたくないけど、別のGoのバージョンを使いたいときに知ってると便利かもってやり方。 Dockerでコンテナ作ってしまうのもありだと思いますが、こっちもお…

Goメモ-15 (分岐, If, Tour of Go)

概要 サンプル 概要 Tour of Go の - If についてのサンプル。 tour.golang.org Goのifの書き方は、他の言語と同じです。 if xxx { } C#やJavaなどと違って、( ) をつける必要がないですね。 個人的にはこっちの方が好きです。 Goでは、さらにステートメント…

Goメモ-14 (ループ, For, Tour of Go)

概要 サンプル 概要 Tour of Go の - For についてのサンプル。 tour.golang.org Goのループは、すごくシンプルになっていて for ループしか存在しません。 while は無しです。foreachなループもforで書きます。 他の言語と同じ感じの for ループは for i :=…

Goメモ-13 (chromebookでのgolang環境設定メモ, go1.13.4)

概要 linux(ベータ版)をオンにする OSの確認 パッケージを最新に更新 gccとかをインストール Goのダウンロード GOの環境変数を設定 go get で使うツール郡をダウンロード git の設定 日本語の設定 Visual Studio Code は? vim で ctrl-[ してもノーマルモ…

Goメモ-12 (定数, Constant, Tour of Go)

概要 サンプル 概要 Tour of Go の - Constant についてのサンプル。 tour.golang.org 今回は定数について。特に気になる点はありませんね。 Goでは公開レベルの取り決めがとてもシンプルになっていて 先頭が大文字で始まっていたらpublic 先頭が大文字以外…

Goメモ-11 (明示的な型変換, Type conversions, Tour of Go)

概要 サンプル 概要 Tour of Go の - Type conversions についてのサンプル。 tour.golang.org Go言語では、暗黙的な型変換が一切認められません。 なので、必ず型を指定して明示的に型変換をする必要があります。 型変換は、型(値) と型を関数呼び出しのよ…

Goメモ-10 (Zero values, ゼロ値, Tour of Go)

概要 サンプル 概要 Tour of Go の - Zero values についてのサンプル。 tour.golang.org 今回も特に気になる部分はありませんが、スライスとマップに関してはちょっと注意が必要。 スライスもマップもゼロ値はnil。なので、 nil かどうかを聞くと True です…

Goメモ-09 (Basic Types, 基本型, Tour of Go)

概要 サンプル 概要 Tour of Go の - Basic types についてのサンプル。 tour.golang.org 今回は大して書くことがあまり無いのですが、どの言語にも基本型があるようにGoにも基本型があります。 以下のものです。 bool string int (int8, int16, int32, int6…

Goメモ-08 (Functions, 関数, Tour of Go)

概要 サンプル 概要 Tour of Go の - Functions についてのサンプル。 tour.golang.org Goでは、関数は第一級のオブジェクトです。 なので、変数にも入れられるし、パラメータとしても渡せるし、戻り値としても使える。 この辺は最近の言語では普通ですね。 …

Goメモ-07 (Exported names, 公開スコープ, Tour of Go)

概要 サンプル 概要 Tour of Go の - Exported names についてのサンプル。 tour.golang.org Goの公開スコープの考え方はとてもシンプル。 大文字で名前が始まっていたらpublicレベル 小文字で始まっていたらパッケージプライベート めっちゃ分かりやすい。…

Goメモ-06 (Top 25 editing features of GoLand IDE, JetBrains)

概要 概要 普段、JetBrainsのGoLandつかってるのですが JetBrainsのブログにて、「Top 25 editing features of GoLand IDE」 というミニシリーズが始まるみたいなので、忘れないうちにメモメモ。 第一回目、第二回目、第3回目が公開されています。 blog.jet…

Goメモ-05 (import, Tour of Go)

概要 サンプル 概要 Tour of Go の - Imports についてのサンプル。 tour.golang.org 特に変わった点はないですね。普通。 単一行で import "fmt" ってやってもいいし import ( "fmt" ) ってやっても良い。 行末にカンマをつけなくていいのに注意ですね。 サ…

Goメモ-04 (ライブラリの公開と利用, go get, go mod)

概要 公開用のライブラリ作る 公開されているライブラリを利用する go.mod go.modとgo.sumは手で編集しちゃ駄目 取得した外部モジュールはどこに置かれるの? 便利なライブラリを探すには? 概要 Goの文法とか進める前に、先にパッケージの公開の仕方と利用…

Goメモ-03 (GOPATH, ワークスペース, プロジェクトレイアウト)

概要 GOPATH でも最近のバージョンではGOPATH気にしなくていい んじゃ、GOPATH何に使われるの? 私の手順 Goのプロジェクトレイアウト 参考記事 概要 引き続き、Go勉強中。 Goは、プロジェクトのレイアウトの考え方が他の言語とちょっと違うので 最初ちょっ…

Goメモ-02 (HelloWorld)

概要 Hello World エントリーポイント (main関数) パッケージ ビルドと実行とお掃除 概要 Goは、とてもドキュメントが充実しています。 golang.org にいけば、チュートリアルからWikiやらEffective Goなどがあるので 他の言語を知っているエンジニアからする…

Goメモ-01 (インストール)

概要 インストール windows mac 確認 サンプルコード 情報源 概要 最近、Goを勉強中。とてもシンプルで好きになりました。いつもどおりメモメモ。。。 個人的に Python や C# は easy 側の言語で、Goは simple 側の言語って思ってます。 どちらの言語も好き…

go fmt をプロジェクト配下の全ファイルに対して実行したい

概要 ソース構成 go fmt をそのまま実行する サブディレクトリも含めて全部 go fmt したい gofmt コマンド使っても良い 概要 Go言語勉強中です。これも忘れないようメモ。基本的なことばかりですが・・w go fmt をプロジェクト配下の全ファイルに一発で適用…

go build のちょっとしたクセ (go buildは指定されたディレクトリをビルド対象にする)

概要 Go言語では一つのディレクトリの中には一つのパッケージしか存在できない 概要 元ネタは以下。 forum.golangbridge.org 上のページの内容は、mainパッケージのものを配置するために main ってディレクトリ作って その中に、main パッケージのものを入れ…

go.mod ファイルのGoランタイムのバージョン変更の仕方 (go mod edit)

概要 環境 go.mod ファイルって手でいじったら駄目な感じがする・・・ ちゃんと edit ってサブコマンドがあった 概要 忘れないうちにメモメモ。 Go Modules を使って、モジュール管理するのが今後のやり方になると思いますが 一旦、作成した go.mod ファイル…