Go言語

Dockerfileで。

RUN apt list --upgradable && \ apt update && \ apt install -y --no-install-recommends ...

Go言語

前回のポストに引き続き、チャンネル一覧の取得。

前回に引き続き、こちらのライブラリを使った。

nlopes/slack

package mainimport ( "github.com/nlopes/sl ...

Go言語

単純にポストするだけ。

こちらのライブラリを使った。

nlopes/slack

インストールは、以下の通り。

go get github.com/nlopes/slackpackage mai ...

Go言語

エラー処理を実装するには、errorsパッケージを使う。

package mainimport ( "fmt" "errors")func err(n int) (int, error) {//n が奇数の場合、エラーを返す i ...

Go言語

さくっと立てられる。

package mainimport ( "fmt" "net/http" "strings" "log")func topPage(w http.ResponseWriter, r *http.Reque ...

Go言語

インターフェース

インターフェースはメソッドの集まりを定義することができる。
クラスのないgolangでは、インターフェースがポリモーフィズムを可能にしてくれる。

golangでのポリモーフィズムって

ポリモーフィズム ...

Go言語

メソッドのメリット

メソッドを定義することで、構造体専用の関数を作ることができる。

package mainimport ( "fmt")//メソッドを定義するstructを定義type Calc struct { a int b ...

Go言語

クロージャとは

今更ながら、クロージャとは「ローカル変数を参照している関数内の関数」のこと。
もはや常識レベルになっているんだろうけど、あまり使いこなせていない。。。
とりあえず、以下例。

package main ...

Go言語

学習golangシリーズも早くも第4段。
一回一回の内容はとてもとても薄い。逆引きレベル。

「戻り値に名前をつける」という仕様自体に馴染めなかったので簡単な例で書いてみた。

package mainimpor ...

Go言語

iotaなるものを初めて知ったので、まとめてみた。
変数に連番を作る時にとても便利だし、固有の値を自動的に振り分けるのに便利。
詳細な仕様は公式リファレンスを参照のこと。

コメントで動きを書いているので、説 ...