タグ付けされた質問 「go」

Goはオープンソースのプログラミング言語です。それは静的に型付けされており、Cから緩やかに派生した構文で、自動メモリ管理、タイプセーフティ、いくつかの動的型付け機能、可変長配列(スライスと呼ばれる)やキー値マップなどの追加の組み込み型、および大規模な標準ライブラリ。

1
Goマップのアイテムを数える方法は?
マップ構造内のアイテムをカウントする場合、どのステートメントを使用する必要がありますか?使ってみました for _, _ := range m {...} しかし、構文が間違っているようです。
89 map  go 


3
golangマップを反復処理する
私はタイプの地図を持っています: map[string]interface{} そして最後に、(goyamlを使用してymlファイルから逆シリアル化した後)次のようなものを作成します mymap = map[foo:map[first: 1] boo: map[second: 2]] このマップを反復処理するにはどうすればよいですか?私は以下を試しました: for k, v := range mymap{ ... } しかし、エラーが発生します: cannot range over mymap typechecking loop involving for loop 助けてください。
89 map  go  loops 

6
githubリポジトリの特定のタグで「goget」を実行する方法
InfluxDBデータベース(バージョンv0.8.8)を使用してコンパイルしようとしています go get github.com/influxdb/influxdb しかし、これはマスターブランチをプルするので、v0.8.8タグが必要です。 私はやろうとしました: go get github.com/influxdb/influxdb/releases/tag/v0.8.8しかし、これは見つけることができないと言って失敗します。 私はまた、定期的に実行しようとしましたgo getマスターブランチのを、その後、手動で使用してタグチェックアウトするgitにはGOPATH/src/github...corretバージョンを設定するために。 最後のアプローチを使用した場合の問題は、依存関係をプルgo get -u -f ./...しようとすると、マスターブランチでそれらを見つけようとし、それらの一部がマスターブランチに存在しないことです... TL; DR:go get特定のgithubタグで実行し、正しい依存関係をプルします。
89 git  go  github 

6
Goプログラムに渡されたコマンドライン引数にアクセスするにはどうすればよいですか?
Goでコマンドライン引数にアクセスするにはどうすればよいですか?それらは引数としてに渡されませんmain。 おそらく複数のパッケージをリンクすることによって作成された完全なプログラムには、関数を備えたmainという1つのパッケージが必要です func main() { ... } 定義されています。関数main.main()は引数をとらず、値を返しません。
89 go 


3
スライスを可変個引数入力として渡すにはどうすればよいですか?
関数がありますfunc more(... t)。スライスを使用して引数のリストを作成することは可能かどうか疑問に思っています...。 私は次のプログラムを解決しようとしています。基本的に、コマンドを文字列として受け取る通常のシェルを模倣します。 コマンド関数には引数の「リスト」が必要ですが、文字列をそのようなリストに変換する方法がわかりません import "os/exec" import "strings" func main(){ plainCommand := "echo hello world" sliceA := strings.Fields(plainCommand) cmd := exec.Command(sliceA) }
89 go 

4
ローカルファイルからio.Readerを作成します
ローカルファイルを開いて、を返したいのio.Readerですが。その理由はio.Reader、次のように、使用しているライブラリにをフィードする必要があるためです。 func read(r io.Reader) (results []string) { }
89 go 

7
複数のファイルで構成されるGoプログラムをコンパイルする方法は?
3つのファイルで構成される小さなプログラムがあり、すべて同じパッケージ(main)に属していますが、「go build main.go」を実行すると、ビルドが成功しません。1つのファイル(main.go)のみの場合、すべてが正常に機能しました。コードを分離するために少し労力を費やしたので、コンパイラーはmain.goから取り出されてこれらの2つの他のファイル(main.goと同じディレクトリーにある)に入れられたものを見つけることができないようです。 。これにより、「未定義の「タイプ」」エラーが発生します。 複数のファイルで構成されるこのプログラムをコンパイルする方法は?

4
Goで空の構造体をJSONにマーシャリングしない方法は?
私はこのような構造体を持っています: type Result struct { Data MyStruct `json:"data,omitempty"` Status string `json:"status,omitempty"` Reason string `json:"reason,omitempty"` } ただし、MyStructのインスタンスが完全に空である(つまり、すべての値がデフォルトである)場合でも、次のようにシリアル化されます。 "data":{} encoding / jsonのドキュメントで、「空の」フィールドは次のように指定されていることを知っています。 false、0、任意のnilポインターまたはインターフェース値、および長さゼロの任意の配列、スライス、マップ、または文字列 ただし、すべてが空/デフォルト値の構造体は考慮されていません。そのすべてのフィールドもでタグ付けされomitemptyていますが、これは効果がありません。 空の構造体であるフィールドをマーシャリングしないようにJSONパッケージを取得するにはどうすればよいですか?
88 json  go 


7
Goでファイルに追加
したがって、次のようにローカルファイルから読み取ることができます。 data, error := ioutil.ReadFile(name) そして私はローカルファイルに書くことができます ioutil.WriteFile(filename, content, permission) しかし、どうすればファイルに追加できますか?組み込みメソッドはありますか?
88 file-io  go 

1
チャネル内の要素の数
バッファリングされたチャネルを使用して、チャネル内の要素の数をどのように測定しますか?たとえば、次のようなチャネルを作成して送信しています。 send_ch := make(chan []byte, 100) // code send_ch <- msg チャネルsend_chにあるメッセージの数を測定したいと思います。 測定とアクションの間にプリエンプションが発生する可能性があるため、同時実行性のために測定値が正確ではないことを認識しています(たとえば、このビデオGoogle I / O 2012-Go Concurrency Patternsで説明されています)。これをプロデューサーとコンシューマー間のフロー制御に使用します。つまり、高水準点を通過したら、低水準点を通過するまで動作を変更します。
88 go 

5
標準ライブラリを使用してGoにネストされたテンプレートを作成することは可能ですか?
JinjaがPythonランタイムに持っているようなネストされたテンプレートを取得するにはどうすればよいですか。TBCが意味するのは、Jinja / django-templatesのように、基本テンプレートのブロックにファイリングするだけで、一連のテンプレートを基本テンプレートから継承させる方法です。html/template標準ライブラリだけで使用できますか? それが不可能な場合、私の選択肢は何ですか。口ひげはオプションのhtml/templateようですが、状況依存のエスケープなどの素晴らしい微妙な機能を見逃しているでしょうか?他にどのような選択肢がありますか? (環境:Google App Engin、Goランタイムv1、開発-Mac OSx lion) 読んでくれてありがとう。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.