• 検索結果がありません。

Golang Cafe版あなたがGoについてたぶん知らない10のこと。

N/A
N/A
Protected

Academic year: 2018

シェア "Golang Cafe版あなたがGoについてたぶん知らない10のこと。"

Copied!
25
0
0

読み込み中.... (全文を見る)

全文

(1)

Golang Cafe

Go

ぶ 知 い 10

Takashi Yokoyama GDG Chugoku

(2)

I’m “not” professional.

● GDG TyuChugoku Organizer (2010-)

趣味

○ Google Apps / GCP関係

○ Golang / Dart

● (6 )→ (5 )→ 臨時的任

用 公務員 (17 ヶ月 )→ 来年正式採用予定

(3)

Golang Cafe いう ベン

議論 ン

Go1.4 新機能

(4)

1. Goroutine is not thread.

● Goroutine

● go func() {...} 生成 実行

● Goroutine キュー

ワー goroutine キュー

出 実行

(5)

1. Goroutine is not thread.

本当 い時

○ runtime.GOMAXPROCS(runtime.NumCPU())

○ runtime.GOMAXPROCS() 初期値 1

変更 挙動 変わ

キュー goroutine 構わ

(6)

2. Goroutine 替え

● Goroutine 替わ

明示的

■ net.TCPListener#Accept()

■ http.ListenAndServe()

■ time.Sleep()

■ Channel 信待

image ータ

替わ い

(7)

3. panic() 使い所

例外機構 使え

○ panic() び出 recover() び出

終了 防

■ recover() defer 登録 関数内 使え

■ Golang標準 使 代表的 encoding/json

● json 構文 一気

(8)

3. panic() 使い所

● Golang 関数

そ 場 ー処理 推奨 い

panic() び出

い時

fmt.Printf() 失敗

■ →

(9)

4. os.Exit() log.Fatalf()

関数 終わ び出 defer

● os.Exit() log.Fatalf() び出

セ 終了 う

○ defer 後処理 び出

後処理 い事 main

goroutine 終わ

(10)

5. error 比較

定義 error 方法

○ errors.New(“任意 ”)

○ fmt.Errorf(書式, …)

変数

違う 一致 い

http://play.golang.org/p/B61bMHficX

(11)

5. error 比較

関数 error 定義

返 あ う

面倒 fmt.Errorf(“ \n”) び出

困 い

(12)

Go 1.4

(13)

6. for 様変更

● for k, v := range x {...}

● for v := range x {...}

変数 記述

い時

○ for _ = range x {...}

(14)

6. for 様変更

● Go 1.4

○ for range x {...}

省略 可能

(15)

7. Go Android

● go.mobile

公式サ

○ Android NDK 動作

○ (当然) Java び出 可能

サン Qiita 記事 書い

先ほ 追記

■ http://qiita.com/ttyokoyama/items/07729cfb03ef0 53ef669

(16)

7. Go Android

描画:drawコー

タッチ:touchコー

● Todo

○ Activity 対応 関数 実装

(17)

7. Go Android

い資料 公開

下 い

● http://talks.golang.org/2014/gothamgo-androi

d.slide

(18)

8. TestMain 関数 追加

● UnitTest

setup/teardown 処理 記述 必要

● func TestMain(m *testing.M) 追加

共通 setup/teardown処理 記述

(19)

9. go generate 追加

先頭 記述

書式://go:generate [任意 ] ータ...

例://go:generate gen

■ gen 実行 type 合わ 便利 関数

(20)

10. 変更

● syscall go.sys

○ 1.3 syscall 複数 OS コー

○ 1.4 syscall 凍結

■ go.sys OS 処理 実装

■ 1.3 互換性

(21)

10. 変更

● Canonical import paths

標準 import 明記 コン

構成 違う ー

○ package hello // import

“github.com/tyokoyama/canonicalsample/hello”

例え github 移動

正規 使 欲 い時 使え

(22)

10. 変更

● File name handling

以前 ”windows.go” ”amd64.go” 書い

正 コン い

○ 1.4 ”os_windows.go”

”support_amd64.go” いう 強制

○ Go _ コン

環境 合う 選択 コン

(23)

10. 変更

公式サ Google Code

golang.org 移行

○ golang.org/x/... 20156 正式

go get 可能

● Go github 移行

○ hg 解放

○ git Go 運用

(24)

公開資料

サン コー Demo

○ https://github.com/tyokoyama/devfestkyoto2014

(25)

清聴あ う い

参照

関連したドキュメント

いしかわ医療的 ケア 児支援 センターで たいせつにしていること.

注1) 本は再版にあたって新たに写本を参照してはいないが、

だけでなく, 「家賃だけでなくいろいろな面 に気をつけることが大切」など「生活全体を 考えて住居を選ぶ」ということに気づいた生

開催数 開 催 日 相談者数(対応した専門職種・人数) 対応法人・場 所 第1回 4月24日 相談者 1 人(法律職1人、福祉職 1 人)

賠償請求が認められている︒ 強姦罪の改正をめぐる状況について顕著な変化はない︒

遮音壁の色については工夫する余地 があると思うが、一般的な工業製品

、「新たに特例輸入者となつた者については」とあるのは「新たに申告納税

にちなんでいる。夢の中で考えたことが続いていて、眠気がいつまでも続く。早朝に出かけ