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
Given the scenario where you have a function which accepts t interface{}. If it is determined that the t is a slice, how do I range over that slice? func main() { data := []string{"one","two","three"} test(data) moredata := []int{1,2,3} test(data) } func test(t interface{}) { switch reflect.TypeOf(t).Kind() { case reflect.Slice: // how do I iterate here? for _,value := range t { fmt.Println(value)
I'm curious why Go does't implicitly convert []T to []interface{} when it will implicitly convert T to interface{}. Is there something non-trivial about this conversion that I'm missing? Example: func foo([]interface{}) { /* do something */ } func main() { var a []string = []string{"hello", "world"} foo(a) } go build complains cannot use a (type []string) as type []interface {} in function argumen
Go言語とは、Googleが開発した新しいプログラミング言語です。 当サイトではこの新しい言語についての情報を集約していきます。 このサイトの更新が滞っており、情報が古くなっておりますのでご注意ください。 はじめに Goは新しい言語です。既存の言語からアイデアを取り入れてはいますが、他の言語にはない機能をもっているため、実際に記述されたGoのプログラムは、他の類似した言語とはだいぶ異なるものになります。C++またはJavaプログラムをGo言語へ直接変換しても、あまりうまくは行きません。JavaのプログラムはあくまでJavaで書かれており、Go言語で書かれてはいないからです。一方で、Go側の視点からこの問題を考えると、変換に成功したとしても、全く違うプログラムができてしまうことになります。言い換えると、Go言語を使いこなすには、Go言語の機能や文法を理解することが重要です。おなじく、Go言語
超簡単なお仕事がはいってきたんですが、ちょっとした事だったのでGo言語で書く事にしました。 わりとどうこうなかったんですが、さすがのgo、ググラビリティが微妙であり、go言語入門にイケてる感じの記事がぱっとなかったのでメモ的な感じで残してみます。 基本的にPHPer向けです。 go言語のインストール MacだとBrewで一発ではいります。 brew install go Helloworld hello.go package main import ("fmt") func main() { fmt.Println("Hello, world") }LLっぽく実行するには(コンパイルと実行を同時にやるには) go run hello.gomain関数から始まる、というのがC言語っぽくてなつかしいですね。 go runをつかうとスクリプト言語と似た感じになるので、とても楽で良いです。 環境設
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く