Go
前回はデータベースの操作方法を見てきました。 blog1.mammb.com 今回はWebサーバで受けた情報をデータベースに保存します。 POST でデータ保存 GET でデータ取得 実行 まとめ POST でデータ保存 POSTで受けたリクエストボディの Json 文字列をデコードし、…
前回は H2 データベースの準備を行いました。 blog1.mammb.com 今回はデータベース操作を行っていきます。 ドライバのインポート データベース接続 テーブル作成とレコードの挿入 Query h2パッケージの作成 ドライバのインポート postgres のドライバはいろ…
前回は Go で簡単なWebサーバを作成しました。 blog1.mammb.com 今回からはデータベース操作を行っていきます。 データベースの準備 ファイルのダウンロード コマンドの実行 まとめ データベースの準備 今回はデータベースサーバに H2 を使います。 H2 は po…
前回、 blog1.mammb.com の続きです。 Hello, World on HTTP REST サーバ Hello, World on HTTP Go には簡易な Http サーバのパッケージがバンドルされています。 net/http をインポートするだけで簡単に Http サーバを動かすことができます。 package main …
インストール Homebrew 更新 インストール & バージョン確認 ワークスペースの作成 Hello World ライブラリの作成 JetBrains Gogland インストール Homebrew 更新 $ brew update $ brew info go インストール & バージョン確認 $ brew install go $ go versi…
構造体 type T struct { a int; c string; } t := &T{ 7, "abc" }; インターフェース struct がデータ型を定義するのに対して interface はメソッドセットを定義する。インターフェースはメソッドの引数として指定するなど、型として利用できる。 type ReadW…
if Cで必要な括弧は不要で、以下のような書き方となる。 if x > 0 { return y } 以下のようにifの中に初期化文を書くことができる。 if err := file.Chmod(0664); err != nil { log.Stderr(err); return err; } Forループ doやwhileループはGoには存在しない…
Go の特徴 シンプルな言語仕様 Class は無いがオブジェクト指向っぽい記述ができる interfaceがある ポインタはあるがポインタ演算はない タイプセーフである ガベージコレクションがある 並列処理の組み込みサポートがある コンパイルが異常に早い ソースフ…
Go にはソースファイルを整形する gofmt というツールが付いています。例えば、以下のようなソースがあったとします。 package main import "fmt" func main() { fmt.Printf("hello, world\n")//print hello } gofmtにこのファイルを指定すると、 $ gofmt he…
先日は windows で Go を試してみましたが、ここでは普通にUbuntuにインストールしてみます。 Go コンパイラ Goコンパイラには 6g や 8g のような gc Goコンパイラと、gcc をバックエンドにした gccgo コンパイラがあります。gccgo では最適化が十分に行える…
Goとは Google の20%プロジェクトから生まれた新しい言語です。本家は以下です。 http://golang.org/表現力が豊かであり、並列性のサポートがあり、ガベージコレクションがあるシステム記述言語とされています。Go の特徴として以下のような紹介がされていま…