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

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

7
Golangでhttp.Get()リクエストのタイムアウトを設定するにはどうすればよいですか?
GoでURLフェッチャーを作成しています。フェッチするURLのリストがあります。http.Get()各URLにリクエストを送信し、その応答を取得します。 resp,fetch_err := http.Get(url) Getリクエストごとにカスタムタイムアウトを設定するにはどうすればよいですか?(デフォルトの時間は非常に長いため、フェッチャーは非常に遅くなります。)フェッチャーに約40〜45秒のタイムアウトを設定してから、「要求のタイムアウト」を返し、次のURLに移動します。 どうすればこれを達成できますか?
106 http  get  timeout  go 


4
再テストを強制するか、テストキャッシュを無効にします
問題: 同じgoテストを2回実行すると、2回目の実行はまったく行われません。結果は、最初の実行からキャッシュされたものです。 PASS ok tester/apitests (cached) リンク https://golang.org/cmd/go/#hdr-Testing_flagsをすでに確認しましたが、その目的のためのcliフラグはありません。 質問: go testに、テスト結果をキャッシュせずに常にテストを実行するように強制する可能性はありますか?
106 testing  go 

3
Goの子プロセスのstdoutパイプをリダイレクトする
プログラムのようなサーバーを実行するプログラムをGoで作成しています(これもGoです)。ここで、親プログラムを開始したターミナルウィンドウに子プログラムのstdoutを配置します。これを行う1つの方法はcmd.Output()関数を使用することですが、これはプロセスが終了した後にのみstdoutを出力します。(このサーバーのようなプログラムは長時間実行され、ログ出力を読みたいので、これは問題です) 変数outはでtype io.ReadCloserあり、自分のタスクを達成するためにそれをどうすればよいかわかりません。また、このトピックに関するWebで役立つものを見つけることができません。 func main() { cmd := exec.Command("/path/to/my/child/program") out, err := cmd.StdoutPipe() if err != nil { fmt.Println(err) } err = cmd.Start() if err != nil { fmt.Println(err) } //fmt.Println(out) cmd.Wait() } コードの説明:Println関数のコメントを外してコードをコンパイルしPrintln(out io.ReadCloser)ます。これは意味のある関数ではないことを知っています。 (出力を生成します&{3 |0 <nil> 0})これらの2行は、コードをコンパイルするためだけに必要です。

2
Goインターフェースフィールド
Goでは、インターフェースがデータではなく機能を定義するという事実に精通しています。一連のメソッドをインターフェイスに配置しましたが、そのインターフェイスを実装するものに必要なフィールドを指定できません。 例えば: // Interface type Giver interface { Give() int64 } // One implementation type FiveGiver struct {} func (fg *FiveGiver) Give() int64 { return 5 } // Another implementation type VarGiver struct { number int64 } func (vg *VarGiver) Give() int64 { return vg.number } これで、インターフェースとその実装を使用できます。 // A function …
105 struct  interface  go 

7
ファイルシステムスキャンを実行する方法
フォルダーのパスを指定すると、そのフォルダーをルートとするファイルをスキャンする関数を作成する必要があります。 そして、そのフォルダのディレクトリ構造を表示する必要があります。 私は2の方法を知っています(jstreeを使用してブラウザーに表示します)。
104 file  go  directory 

4
:=の左側に新しい変数はありません
ここで何が起こっているのですか? package main import "fmt" func main() { myArray :=[...]int{12,14,26} ; fmt.Println(myArray) myArray :=[...]int{11,12,14} //error pointing on this line fmt.Println(myArray) ; } それは言うエラーをスローします no new variables on left side of := 私がやっていたことは、すでに宣言された変数に値を再割り当てすることでした。

10
Goでのフォークされたパッケージのインポートの使用
にリポジトリがあり、github.com/someone/repoそれをforkしたとしgithub.com/you/repoます。メインリポジトリの代わりにフォークを使用したいので、 go get github.com/you/repo これで、このリポジトリのすべてのインポートパスは「壊れた」状態になります。つまり、リポジトリに絶対URLを介して相互に参照する複数のパッケージがある場合、それらはフォークではなくソースを参照します。 手動で正しいパスに複製するより良い方法はありますか? git clone git@github.com:you/repo.git $GOPATH/src/github.com/someone/repo
104 go 

4
Goの時間からの時間と時間の減算
time.Timeから取得した値があり、time.Now()ちょうど1か月前の別の時刻を取得したいと考えています。 私はtime.Sub()(別のが必要time.Time)で減算が可能であることを知っていますが、その結果はにtime.Durationなり、逆にそれが必要になります。
104 go 

9
ワンライナーif elseステートメントを行う方法は?
PHPで行うように、go(golang)で変数を代入する単純なif-elseステートメントを記述できますか?例えば: $var = ( $a > $b )? $a: $b; 現在、私は以下を使用する必要があります: var c int if a > b { c = a } else { c = b } 申し訳ありませんが、この制御ステートメントと、サイト内またはGoogle検索で情報が見つからなかった場合、名前を思い出せません。:/


2
Goのargv [0]に相当するものは何ですか?
実行時に自分のプログラムの名前を取得するにはどうすればよいですか?GoのC / C ++のargv [0]に相当するものは何ですか?私にとっては、正しい名前で使用法を生成すると便利です。 更新:いくつかのコードを追加しました。 package main import ( "flag" "fmt" "os" ) func usage() { fmt.Fprintf(os.Stderr, "usage: myprog [inputfile]\n") flag.PrintDefaults() os.Exit(2) } func main() { flag.Usage = usage flag.Parse() args := flag.Args() if len(args) < 1 { fmt.Println("Input file is missing."); os.Exit(1); } fmt.Printf("opening %s\n", args[0]); // ... …
103 go 


4
引数として配列を解凍する
PythonとRubyには、配列を引数としてアンパックするためのsplat演算子(*)があります。JavaScriptには.apply()関数があります。Goの関数引数として配列/スライスをアンパックする方法はありますか?このためのリソースも同様に素晴らしいです! これに沿った何か: func my_func(a, b int) (int) { return a + b } func main() { arr := []int{2,4} sum := my_func(arr) } 構文上の誤りやさまざまな誤りを犯している場合は、謝罪します。Goは初めてです。

5
time.Timeを文字列に変換
私のデータベースから[]stringGoにいくつかの値を追加しようとしています。これらのいくつかはタイムスタンプです。 エラーが発生します: 配列要素の文字列型としてU.Created_date(time.Time型)を使用できません 私は変換することができますtime.Timeにstring? type UsersSession struct { Userid int Timestamp time.Time Created_date time.Time } type Users struct { Name string Email string Country string Created_date time.Time Id int Hash string IP string } - var usersArray = [][]string{} rows, err := db.Query("SELECT u.id, u.hash, u.name, u.email, u.country, u.IP, u.created_date, …
103 string  time  go 

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