You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
åã¨ãã¦ã¯Goã®ããããã®ãã¬ã¼ã ã¯ã¼ã¯ãèãããããæ¨æºã©ã¤ãã©ãªã®net/httpã¨çããããã«ãã¦ãã¾ããã¨ããããããGoã®ä»ã®ãã¬ã¼ã ã¯ã¼ã¯ã¨å¼ã°ãã¦ãããã®ã¯ããã®net/httpã®ã©ããã¼ã§ãããªãããã§ãã Goã§ã¢ããªã±ã¼ã·ã§ã³ã使ããå ´åã®ã¤ã¡ã¼ã¸ã¯æ¬¡ã®éããbattery includedãªã¢ããã¼ãã¯ä»ã®è¨èªã§ããã¾ã«ããã¾ãããã¤ãã¦ããæ©è½ã仿ã®ãã®ãå¤ãã¦ãæ¨æºã©ã¤ãã©ãªã§æ¸ããã¨ãå¤ãã§ããã¦ã§ãéçºã«ã¤ãã¦ããããªæãã§ãã Pythonã¨ãRubyã¨ããããã§ãããè¨èªçµã¿è¾¼ã¿ã®ã¦ã§ããµã¼ãã¼æ©è½ã¯ãã¹ãç¨ã§æ¬çªéç¨ã«ã¯æ©è½ãè¶³ããªããæ§è½ãè¶³ããªããã¨ãããã¨ããããããã¯ã·ã§ã³ã«èããããã¬ã¼ã ã¯ã¼ã¯ãå¥ã«å ¥ããªãã¨ãã¨æã人ãå¤ãããããªãããªãã¨æãã¾ãããGoã®å ´åã¯çµã¿è¾¼ã¿ã®ãµã¼ãã¼ã§åé¡ãªãã£ãããã¾ããNode.jsã«è¿ãããï¼ ä¸é
ã¡ã«ã«ãªã»ã½ã¦ã¾ã¦ã§ã¯ ã©ãGoãæ´»ç¨ãã¦ããã®ãï¼ The Go gopherwas designed by Renee French. The gopher stickers was made by Takuya Ueda. Licensed under the Creative Commons 3.0 Attributions license. 1 2017/07/22ï¼åï¼ @伿´¥å¤§Goåå¼·ä¼ èªå·±ç´¹ä» ã¡ã«ã«ãªï¼ã½ã¦ã¾ã¦ ä¸ç°æä¹ twitter: @tenntenn â ã³ãã¥ããã£æ´»å GoogleCloud Platform User Group (GCPUG) Tokyo Goãã®ãã¼ãº golang.tokyo Go Conference â æ¥å GAE/Goã§ã¡ã«ã«ãªã«ã¦ã«ãä½ã£ã¦ã¾ã GoãGCPã³ãã¥ããã£ãçãä¸ããä»äº Gopherãæãä»äºï¼LINEã¹ã¿ã³
go test ã®ãã£ãã·ã¥ãæ¶ãã®ã¯ç°¡å$ go clean -testcache 以ä¸ã§ãï¼ $ go test ./... ok github.com/oxequa/realize (cached) ok github.com/oxequa/realize/realize (cached) ãã®ããã« (cached) ã¨ãªã£ã¦ãããã®ãããã $ go clean -testcache $ go test ./... ok github.com/oxequa/realize 0.086s ok github.com/oxequa/realize/realize 0.389s ãã®ããã«ãå®è¡æéã表示ããã¦ããããã£ãã·ã¥ãæ¶ãã¦ãããã¨ãåããã¾ããã ã¡ãªã¿ã«ããã£ãã·ã¥ãç¡è¦ããæ¹æ³ã¯ããã²ã¨ã¤ããã 以ä¸ã®ããã« -count=1 ãã¤ãã¦ããã°OKã§ãã $ go tes
ã¯ããã« go1.11ããå°å ¥ãããmodulesã使ãã«ããã£ã¦ããã¾ãããåãã£ã¦ããªãã£ãã®ã§ ã¡ãã£ã¨éå»ããmodulesã«è³ãã¾ã§ã®åé¡ã詳細ãªåããªã©ã調ã¹ã¦ã¿ã¾ããã ãã®æã®åå¿é²ãæ®ãã¦ããã¾ãã çè§£ããã ããªã®ã§ãæ å ±ãç¡ãé¨åã«ã¤ãã¦ã¯èªåã§èª¿ã¹ã¦ããã§ã«èª¿æ»æ¸ã¿ã®ç®æã¯ å¤ãã®å 人ãã¡ã®è¨äºãåèã«ããã¦ããã ãã¾ããããããã¨ããããã¾ãã ã©ã¤ãã©ãªã®ã¤ã³ã¹ãã¼ã«ãGo get go get https://github.com/...ã§$GOPATH/srcé ä¸ã«ã©ã¤ãã©ãªããã¦ã³ãã¼ãããäºã§ã importã§æå®ãã¦ã©ã¤ãã©ãªã使ç¨ããäºãåºæ¥ã¾ãã srcãpkgãbinã®è©³ç´°ã¯ä»¥ä¸ãåç § ããã°ã©ã ã®å ¨ä½æ§æ ä¸è¿°ã®æ§æããæç¢ºã«å¤æã§ããã®ã¯ãbinãã£ã¬ã¯ããªã®ä¸ã«ã³ã³ãã¤ã«å¾ã®å®è¡å¯è½ãã¡ã¤ã«ãä¿åãããpkgã®ä¸ã«é¢æ°ããã±ã¼ã¸ãä¿åããã
gistfile1.md ãã®gist㯠Cloud Foundry Advent Calendar 2013 ã®16æ¥ç®ã®è¨äºã§ãã ã¯ããã« ç¾å¨ãCloudFoundryã®Componentsã¯Goåãã¤ã¤ããã¾ããããã«ãããRubyã§å®è£ ããã¦ãããã®ã«å¯¾ãã¦æ§è½åä¸ãã¦ããããã½ã¼ã¹ãèªã¿ããããªã£ã¦ãããããï¼ãã¡ãã¯ä¸»è¦³ã§ããã»ã»ï¼åé¢ãéçºè ã«ã¨ã£ã¦ã®èª²é¡ãçã¾ãã¦ãã¾ãããã®èª²é¡ã®ã²ã¨ã¤ã__ä¾åããã±ã¼ã¸ç®¡ç__ã§ããã¾ãã¯Rubyã®å¤é¨ããã±ã¼ã¸ç®¡çã«ã¤ãã¦ç°¡åã«æ¯ãè¿ãã¤ã¤ãGoã®ãããè¦ã¦ãããã¨æãã¾ãã ä¾åããã±ã¼ã¸ç®¡çï¼Rubyï¼ Rubyã§ã¯å¤é¨ããã±ã¼ã¸ã¯Gemãã¡ã¤ã«ã¨ãªã£ã¦ããã大æµã®å ´åãBundlerã§ç®¡çãã¾ããã¾ããææ°çãåãã¨ã¯éããªãããè¨å®ãã¡ã¤ã«ã«ãã¼ã¸ã§ã³ãæå®ãã¦ããã使ç¨ãã¾ããGemãã¡ã¤ã«èªä½ã¯RubyGems.org
åé¡ deferã使ã£ã¦å¾å¦çããããå ´åã«ãããã»ã¹ãCtrl+cãªã©SIGINTã§ä¸æãããã¨deferãããã®ãçºç«ããªããããã»ã¹èªä½ã䏿ãããã®ã§ãããã¾ããªãã ãã©ãã åé¡ã®åç¾ package main import ( "fmt" "time" ) func main() { defer teardown() hoge() fmt.Println("çµäº") } func hoge() { for i := 0; i < 5; i++ { fmt.Println(i) time.Sleep(1 * time.Second) } } func teardown() { fmt.Println("ãã¼ã¿ã®ãã¨ããã¥ã") } ä¸è¨ã®å®è¡ % go run main.go 0 1 2 3 4 çµäº ãã¼ã¿ã®ãã¨ããã¥ã % SIGINTã®å ´å % go run main.go
Perlã ã¨callerã§å¼ã³åºãå ã®ã¢ã¸ã¥ã¼ã«åãã¡ã½ããåãåå¾ã§ããããGoã§ãã§ããã®ãï¼ ã¨æã£ã¦èª¿ã¹ã¦ã¿ãã ã³ã¼ã package main import ( "log" "runtime" ) type Hoge struct { name string } func (h *Hoge) Print() { Log(h.name) } func Log(data string) { pc, file, line, _ := runtime.Caller(1) f := runtime.FuncForPC(pc) log.Printf("\ncall:%s\ndata:%s\nfile:%s:%d\n", f.Name(), data, file, line) } func main() { h := &Hoge{ name: "hoge hoge", } h.Print()
Goã¨ããããã°ã©ãã³ã°è¨èªã®å¼·ã¿ã®ï¼ã¤ã¯ã Tony Hoareèæ¡ã®CSP ã«åºã¥ããã«ãã¤ã³ã®ä¸¦è¡æ§(Concurrency)ã§ããGoã¯ä¸¦è¡æ§ã念é ã«ãã¶ã¤ã³ããã¦ãããããè¤éã«ä¸¦è¡ãããã¤ãã©ã¤ã³ã®æ§ç¯ãå¯è½ã«ãã¦ãã¾ããã§ããããããã®ä¸¦è¡æ§ãã¿ã¼ã³ãã©ã®ããã«è¦ãããã®ãªã®ãæ°ã«ãªã£ããã¨ã¯ããã¾ãããã ãã¡ãããæ°ã«ãªã£ããã¨ã¯ããã¨æãã¾ããæããããããå½¢ã¯éã£ã¦ãã誰ããé ã«æãã¦ããã®ã§ã¯ãªãã§ããããããããã1ãã100ã¾ã§ã®æ°åãã«ã¤ãã¦èãããããç¡æèã«é ã®ä¸ã§æ°åã®ã¤ã¡ã¼ã¸ãæãæµ®ãã¹ãã¨æãã¾ããä¾ãã°ãç§ã®å ´åãèªåã®åãã1ãã20ã¾ã§ãã¾ã£ããã«ä¸¦ã³ã21以éã¯90度å³ã«æ²ãã1000以éã¾ã§ç¶ãã¤ã¡ã¼ã¸ãæµ®ãã³ã¾ããããã¯å¤åç§ãå¹¼ç¨åã®æã«æå®¤ã®å£ã«æ²¿ã£ã¦æ°åãè²¼ããã¦ãã¦ãã¡ããã©è§ã«æ°åã®20ããã£ããããªã®ã ã¨æãã¾ããå¥ã®ä¾ããã
æ£æã§æéããã£ãã®ã§ã以åãã触ã£ã¦ã¿ããã£ãgRPCãGoè¨èªãã使ãããã¼ã»ããªã¥ã¼ã»ã¹ãã¢ã®ãããªãã®ãä½ã£ã¦ã¿ãã KVSã¨ãã£ã¦ããGoã®mapã¸ã®Get/Put/Delete/ScanãgRPCçµç±ã§å©ããããã«ããã ãã®ãã®ãããã ãã ã¨ãã¾ãé¢ç½ãç¡ãã®ã§ãgRPCããããWatchæ©è½ãã¤ãã¦mapã¸ã®æ´æ°ãç£è¦ã§ããããã«ããã github.com å人çã«ã¯ãHTTP/1.1 + JSON APIã¨æ¯ã¹ãæã®gRPC(HTTP/2 + ProtoBuf)ã®ã¡ãªãããéããæ°ã«ãªã£ã¦ããã®ã§ããã®ããããæ°ãã¤ããªããæ¸ããã éçºã®æé ãµã¼ãã¹å®ç¾© ã¾ãã¯Protocol Buffers 3ã§KVSã®ãµã¼ãã¹ãå®ç¾©ããããµã³ãã«ãè¦ãªããé©å½ã«æ¸ããã grpc-kvs/grpc-kvs.proto at master · matope/grpc-kvs · G
5å¹´åã«è²·ã£ããJava並è¡å¦çããã°ã©ãã³ã° âãã®ãåºç¤ãã¨ãææ°APIããç©¶ããâããããããèªãã ãè²·ã£ãé ã«ã¯ Perl ãã·ã³ãã«ãª JavaScript ã°ããæ¸ãã¦ããã®ã§ä¸¦è¡ããã°ã©ãã³ã°ãªãã¦ã»ã¨ãã©æ°ã«ãããã¨ããªãã宿ããªãã¦èªãã®ãéä¸ã§æ¢ã¾ã£ã¦ãã¾ã£ã¦ããæ¬ã§ãå®¶ãæé¤ãã¦ããã¨ãã«è¦ã¤ãããã®ããã®å¾ãè¶£å³ã§ Android ã¢ããªãæ¸ããªã© Java ã«è§¦ããæ©ä¼ã¯ãã£ãããã©ãããããã AsyncTask ã使ããããã§ããã«ãã¹ã¬ãããå¼·ãæèãã¦ã³ã¼ããæ¸ããã¨ããªãã£ãã Java並è¡å¦çããã°ã©ãã³ã° âãã®ãåºç¤ãã¨ãææ°APIããç©¶ããâ ä½è : Brian Goetz,Joshua Bloch,Doug Leaåºç社/ã¡ã¼ã«ã¼: ã½ãããã³ã¯ã¯ãªã¨ã¤ãã£ãçºå£²æ¥: 2006/11/22ã¡ãã£ã¢: åè¡æ¬è³¼å ¥: 30人 ã¯ãªãã¯: 442å
8æã«æ£å¼ãªãªã¼ã¹ããã Go 1.13 ã®ä¸»ãªæ©è½ Go 1.13 ã®ãã¼ã¿çãç»å ´ããããã ã ãªãªã¼ã¹ãã¼ããä½µãã¦å ¬éããã¦ããã Go 1.13 Beta 1 is released - Google Group Go 1.13 Release Notes - The Go Programming Language Go 1.13 ã§ã¯æ°å¤ã®ãªãã©ã«è¡¨ç¾ï¼2鲿°è¡¨ç¾ãæµ®åå°æ°ç¹æ°ã®16鲿°è¡¨ç¾ï¼ãªã©è²ã ã¨éè¦ãªæ©è½è¿½å ããããï¼ä¸»ãªãã®ã¯ä»¥ä¸ã®éãã errors ããã±ã¼ã¸ã¸ã®æ©è½è¿½å 以åã«ç´¹ä»ãã golang.org/x/xerrors ã®æ©è½ãæ£å¼ã« errors ããã±ã¼ã¸ã«çµã¿è¾¼ã¾ããããã ã é層å Error ããã±ã¼ã¸ âxerrorsâ ã試ãã¦ã¿ã golang.org/x/xerrors ã®æ©è½ãã»ã¼è¸è¥²ãã¦ããã¿ãããªã®ã§ï¼æ¢ã« golang.org/
golang ã¨è¨ãã°éåæã«ç¹åããè¨èªã§ãããæ £ããªãå ã¯ç°¡åãªéåæãã使ãã¾ãããããã sync ããã±ã¼ã¸ãç¥ãäºã§ãã£ã¨ã«ã¸ã¥ã¢ã«ã«ããã¤ç¢ºå®ãªéåæå¦çãè¡ãäºãåºæ¥ãæ§ã«ãªãã¾ãã 仿¥ã¯ãã㪠sync ããã±ã¼ã¸ã«ã¤ãã¦èª¬æãã¦ã¿ããã¨æãã¾ãã sync.Mutex ãåã sync.Mutex ã§ããçãããä¸çªä½¿ãæä»å¶å¾¡ã ã¨æãã¾ãã package main import ( "fmt" "runtime" "sync" "time" ) func parallel(wg *sync.WaitGroup) { fmt.Println("å") time.Sleep(100 * time.Millisecond) fmt.Println("å¤") time.Sleep(100 * time.Millisecond) fmt.Println("ã®") time.
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã¡ã³ããã³ã¹
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}