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

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

9
init()関数はいつ実行されますか?
init()Goでの関数の機能の正確な説明を見つけようとしました。私は、Effective Goの発言を読みましたが、その発言を完全に理解しているかどうかはわかりませんでした。正確な文は次のとおりです。 そして、最終的には最終的に意味します。パッケージ内のすべての変数宣言が初期化子を評価した後にinitが呼び出され、インポートされたすべてのパッケージが初期化された後にのみそれらが評価されます。 どういうall the variable declarations in the package have evaluated their initializers意味ですか?パッケージとそのファイルで「グローバル」変数を宣言すると、すべてが評価されるまでinit()は実行されず、。/ main_file_nameが実行されると、すべてのinit関数が実行され、次にmain()が実行されます。 Mark Summerfieldの囲碁の本も読んだ。 パッケージに1つ以上のinit()関数がある場合、それらはメインパッケージのmain()関数が呼び出される前に自動的に実行されます。 私の理解でinit()は、main()を実行するつもりで実行する場合にのみ関連がありますか?またはメインパッケージ。誰でもより正確に理解しinit()て、私を自由に修正してください
356 go  init 

13
Goで行ごとにファイルを読み取る
file.ReadLineGoで機能が見つかりません。すぐに書ける方法はわかりますが、ここで何か見落としているのではないかと思っています。ファイルを1行ずつ読み取る方法を教えてください。
335 string  file  parsing  go  line 

4
パラメータと戻り値のポインタと値
Goでは、struct値またはそのスライスを返すさまざまな方法があります。私が見た個々のものについて: type MyStruct struct { Val int } func myfunc() MyStruct { return MyStruct{Val: 1} } func myfunc() *MyStruct { return &MyStruct{} } func myfunc(s *MyStruct) { s.Val = 1 } これらの違いを理解しています。1つ目は構造体のコピーを返し、2つ目は関数内で作成された構造体値へのポインタ、3つ目は既存の構造体が渡されることを期待して値をオーバーライドします。 これらのパターンのすべてがさまざまなコンテキストで使用されるのを見てきましたが、これらに関するベストプラクティスは何なのでしょうか。どちらを使用しますか?たとえば、最初のものは小さな構造体で問題がなく(オーバーヘッドが最小限であるため)、2つ目はより大きな構造体で問題ありません。また、呼び出し間で単一の構造体インスタンスを簡単に再利用できるため、非常にメモリ効率を高めたい場合は3番目。どれを使用するかについてのベストプラクティスはありますか? 同様に、スライスに関する同じ質問: func myfunc() []MyStruct { return []MyStruct{ MyStruct{Val: 1} } } func myfunc() []*MyStruct { return []MyStruct{ …
329 pointers  go 

18
GOPATHとGOROOTの値は何ですか?
私はこのようにdoozerをインストールしようとしています: $ goinstall github.com/ha/doozer これらのエラーが発生します。 goinstall: os: go/build: package could not be found locally goinstall: fmt: go/build: package could not be found locally goinstall: io: go/build: package could not be found locally goinstall: reflect: go/build: package could not be found locally goinstall: math: go/build: package could not be found locally …
323 go  gopath 

3
マップのすべてのキーを反復する
Go言語マップのすべてのキーのリストを取得する方法はありますか?要素の数はによって与えられlen()ますが、次のようなマップがある場合: m := map[string]string{ "key1":"val1", "key2":"val2" }; すべてのキーを反復するにはどうすればよいですか?
316 loops  dictionary  go 


9
Cの三項演算子に対応する慣用的なGoとは何ですか?
C / C ++(およびそのファミリーの多くの言語)では、条件に応じて変数を宣言および初期化する一般的なイディオムは、3項条件演算子を使用します。 int index = val > 0 ? val : -val Goには条件演算子がありません。上記と同じコードを実装する最も慣用的な方法は何ですか?私は次の解決策に行きましたが、それはかなり冗長に思われます var index int if val > 0 { index = val } else { index = -val } もっと良いものはありますか?


8
Goを使用してファイルを読み書きする方法は?
私はGoを自分で習得しようと努めてきましたが、通常のファイルの読み取りと書き込みを試みることに困惑してきました。 まで取得できますinFile, _ := os.Open(INFILE, 0, 0)が、実際にはファイルのコンテンツを取得しても意味がありません。read関数がa []byteをパラメーターとして取るためです。 func (file *File) Read(b []byte) (n int, err Error)
284 file  go 

13
Goでの構成の処理方法[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 この質問を改善する 私はGoプログラミングの初心者ですが、疑問に思っています。Goプログラムの構成パラメーターを処理するための好ましい方法は何ですか(他のコンテキストでは、プロパティファイルやiniファイルを使用するようなものです)。

5
継続時間に整数を掛ける方法は?
同時ゴルーチンをテストするために、関数に行を追加して、返されるまでにランダムな時間がかかるようにしました(最大1秒)。 time.Sleep(rand.Int31n(1000) * time.Millisecond) しかし、コンパイルすると、このエラーが発生しました 。\ crawler.go:49:無効な操作:rand.Int31n(1000)* time.Millisecond(不一致タイプint32とtime.Duration) 何か案は?どうすれば期間を乗算できますか?
284 go  time 



11
コンソールの標準入力から読み取る方法は?
コマンドラインから標準入力を読み取りたいのですが、入力を求めるプロンプトが表示される前にプログラムが終了するため、試行が終了しました。C#でConsole.ReadLine()に相当するものを探しています。 これは私が現在持っているものです: package main import ( "bufio" "fmt" "os" ) func main() { reader := bufio.NewReader(os.Stdin) fmt.Print("Enter text: ") text, _ := reader.ReadString('\n') fmt.Println(text) fmt.Println("Enter text: ") text2 := "" fmt.Scanln(text2) fmt.Println(text2) ln := "" fmt.Sscanln("%v", ln) fmt.Println(ln) }
270 go 


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