Post

golang

2018-04-21 11:05:19

Golangの勉強で参考にした本とリンク

概要golangの勉強をする時に参考にした本とリンクのまとめ。 本 プログラミング言語Go 教典 スターティングGo言語 読みやすい。わかりやすい。プログラミングの素養が高い人には平易すぎる内容かもしれない。 Go言語によるWebアプリケーション開発 Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る リンク golang.jp A Tour of Go astaxie/build-web-application-with-golang 本を購入せずともこれを読んでおけばおおよそのキャッチアップができる気がする Go Data Structures goのデー...

プログラミング

golang

2018-07-01 19:37:24

Golangの開発環境を構築

概要Goの環境を構築します。 Goの環境構築Goをインストールするインストール手段は省略します。私はanyenvというツールでインストールしています。 GOPATHを指定する.bashrcまたは.bash_profileにGOPATHを指定します。 export GOPATH=$HOME/localdev/project/go_dev // 好きなように設定してください PATH=$PATH:$GOPATH/bin Goのディレクトリ構成を確認するローカル環境でのディレクトリ構成は公式ドキュメントに従う形で構成していきます。 go_dev/ ├── bin ├── pkg └── src g...

プログラミング

golang

2018-05-06 22:45:15

Real World HTTP

Real World HTTP 1章 HTTP/1.0のシンタックス:基本となる4つの要素 2章 HTTP/1.0のセマンティクス:ブラウザの基本機能の裏側 3章 Go言語によるHTTP/1.0クライアントの実装 4章 HTTP/1.1のシンタックス:高速化と安全性を求めた拡張 5章 HTTP/1.1のセマンティクス:広がるHTTPの用途 6章 Go言語によるHTTP1.1クライアントの実装 7章 HTTP/2のシンタックス:プロトコルの再定義 8章 HTTP/2のセマンティクス:新しいユースケース 9章 Go言語によるHTTP/2、HTML 5のプロトコルの実装 10章 セキュリティ:ブラウ...

golang HTTP

2018-09-03 12:48:54

Golangのポインタの基本

概要Golangのポインタ基礎についてまとめる。 前提 変数とメモリの関係についてイメージできる程度の知識 ポインタとは何かポインタは変数のアドレスを指す。変数のアドレスを通じて呼び出し元の変数の値を変更することができる。 GolangではC言語ライクなポインタは用意されている。Golangでのポインタでは、変数Tのポインタは*T型で、ゼロ値はnilとなる。 package main import "fmt" func main() { i := 10 // &(アドレス演算子)を使い、変数のアドレスにアクセスする // 変数pointerに変数iのアドレスを格納...

プログラミング

golang ポインタ 値渡し 参照

2018-10-04 15:24:31

Golangの関数についてー関数値/コールバック関数/無名関数

概要Golangの関数において、以下3つについてまとめる。 関数値として扱う場合の関数 関数を引数として扱う関数 無名関数の定義 関数値 クロージャー 関数値として扱う場合の関数package main import ( "fmt" "testing" ) func sayHi() string { return "Hello" } func main() { greetA := sayHi() greetB := sayHi fmt.Println(greetA) fmt.Println(greetB()) } コールバック関数package m...

プログラミング

golang コールバック関数 関数 無名関数

New!

2018-11-13 15:43:42

Golangでの変数定義・宣言のパターンまとめ

概要Golangでの変数定義・宣言のパターンをまとめる 変数の定義・宣言における注意 1文字目が大文字の場合は、他のパッケージからも見える変数 1文字目が小文字の場合は、そのパッケージでしか見えない変数 変数の定義・宣言Variable declarationsvar i int fmt.Printf("%T", i) // int var a, b, c string fmt.Printf("%T", a) // string fmt.Printf("%T", b) // string fmt.Printf("%T", c) // string var s = "Hello World...

プログラミング

golang

New!

2018-11-13 21:13:03

Golangのポインタ概要

概要Golangのポインタの基本では参照渡しと値渡しの違いの観点からポインタについて書いたが、それ以前にポインタを扱っているうちに混乱してきたため、ポインタの概要をまとめる。 ポインタ型とは メモリー上のアドレスを記憶する変数の型のこと ポインタ型の定義 *を使って定義する var s *string // 変数sはstring型のポインタ。型は*string アドレス演算子と間接参照演算子アドレス演算子 & 任意の値からポインタ型を生成し、アドレスを得る 間接参照演算子 * ポインタ型変数から値を参照する(デリファレンス) ポインタ型変数package main impor...

プログラミング

golang

New!

2018-11-15 14:39:15

Golangのインターフェース概要

概要Golangのインターフェースについてまとめる。 Golangのインターフェースとは 特定のメソッドの型だけを列挙した型 インターフェースFooで宣言したメソッドが全て実装されている構造体は、型Fooとして扱うことができる。 インタフェースを使うとポリモーフィズムを実現することができる インターフェースの定義type <型名> interface { <メソッド名(<引数の型>, ...)(<戻り値の型>, ...) } // Ex. type Human interface { say() string } インターフェースの特徴イ...

プログラミング

golang