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

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

14
GOBINが設定されていません:goinstallを実行できません
main.goファイルのカスタムパッケージをインストールしようとしています。しかし、私が走ったとき go install custom.go このエラーが発生しました go install: no install location for .go files listed on command line (GOBIN not set) GOBINを設定するにはどうすればよいですか?
86 go 

2
runtime.Goschedは正確に何をしますか?
でツアーゴーのウェブサイトの行く1.5のリリースに先立って、バージョン、コードの一部があることを次のようになります。 package main import ( "fmt" "runtime" ) func say(s string) { for i := 0; i < 5; i++ { runtime.Gosched() fmt.Println(s) } } func main() { go say("world") say("hello") } 出力は次のようになります。 hello world hello world hello world hello world hello 私を悩ませているのは、runtime.Gosched()削除されると、プログラムが「ワールド」を出力しなくなることです。 hello hello hello hello hello どうしてこんなことに?runtime.Gosched()実行にどのように影響しますか?
86 concurrency  go 

5
Goのintとint64の違いは何ですか?
(ファイルから読み取られた)整数を含む文字列があります。 私が変換しようとしているstringにint使用しますstrconv.ParseInt()。 ParseIntビットサイズを指定する必要があります(ビットサイズ0、8、16、32、および64はint、int8、int16、int32、およびint64に対応します)。 ファイルから読み取られる整数は小さいです(つまり、通常のintに収まるはずです)。ただし、ビットサイズ0を渡すと、型の結果が得られますint64(おそらく、64ビットOSで実行しているためです)。 なんでこんなことが起こっているの?通常のintを取得するにはどうすればよいですか?(誰かがいつ、なぜ異なるint型を使用すべきかについての簡単な入門書を持っているなら、それは素晴らしいでしょう!) 編集:を使用してint64を通常のintに変換できint([i64_var])ます。しかしParseInt()、ビットサイズ0を要求しているときに、なぜint64が返されるのかはまだわかりません。
86 go 

4
Goでマップをクリアする方法は?
.clear() プリミティブ型のc ++関数のようなものを探していmapます。 または、代わりに新しいマップを作成する必要がありますか? 更新:ご回答ありがとうございます。答えを見て、新しいマップを作成すると、望ましくない不整合が発生する場合があることに気付きました。次の例を考えてみましょう。 var a map[string]string var b map[string]string func main() { a = make(map[string]string) b=a a["hello"]="world" a = nil fmt.Println(b["hello"]) } .clear()つまり、これは、オブジェクトのコンテンツをクリアするc ++の関数とはまだ異なります。
86 go 

3
チャネルバッファサイズとは何ですか?
非同期チャネルを作成しようとしていますが、http://golang.org/ref/spec#Making_slices_maps_and_channelsを見てきました。 c := make(chan int, 10) // channel with a buffer size of 10 バッファサイズが10とはどういう意味ですか?バッファサイズは具体的に何を表しますか/制限しますか?
86 go  channel 

5
標準入力から整数を読み取る
fmt.ScanfGoの関数を使用して、標準入力から整数入力を取得するにはどうすればよいですか? を使用してこれを実行できない場合fmt.Scanf、単一の整数を読み取るための最良の方法は何ですか?
85 go  stdin 

1
「gc」と「gccgo」の主な違いは何ですか?
2つの人気のあるGoコンパイラ「gc」と「gccgo」の主な違いは何ですか?ビルドパフォーマンス?実行時のパフォーマンス?コマンドラインオプション?ライセンス? 私はどちらが最適かについての意見を探しているのではなく、それらの違いの基本的な概要だけを探しているので、自分のニーズに最適なものを決定することができます。
85 go  gccgo 

9
golangインタラクティブデバッガーはありますか?[閉まっている]
閉まっている。この質問は、StackOverflowのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、スタックオーバーフローのトピックになります。 3年前に閉鎖されました。 この質問を改善する タイトルはそれをかなり要約しています。Goを試していますが、インタラクティブな環境内でブレークポイントを設定したり、ステップイン/オーバー/アウトしたりすることができません。gdbを使用してGoをデバッグできることは知っていますが、ブレークポイント用にgdbにプラグインできるIDEを使用する場合と比較すると、非常に面倒です。 1つを検索しようとしましたが、構文が強調表示されているがデバッグが行われていないプラグインまたは小さなIDEしか見つかりませんでした。
85 debugging  go 

4
golangの[] stringと…stringの違いは何ですか?
Go言語では、 []string 文字列配列です また...string、パラメータとしても使用します。 違いはなんですか? 関数の定義: func f(args ...string) {} この関数を次のように呼び出すことはできますか? args := []string{"a", "b"} f(args)
85 string  go 

2
ローカル構造体へのポインタを返す
次のような構造のコードサンプルがいくつかあります。 type point struct { x, y int } func newPoint() *point { return &point{10, 20} } 私はC ++のバックグラウンドを持っていますが、エラーのようです。そのような構成のセマンティクスは何ですか?スタックまたはヒープに新しいポイントが割り当てられていますか?
85 go 

4
Goのウェブサーバーの前でNginxを使用する利点は何ですか?[閉まっている]
クローズ。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前に閉鎖されました。 この質問を改善する 多くのユーザーがいるJSONデータを返すWebサービスをいくつか書いています。 go httpサーバーを使用する場合と比較して、サーバーの前でNginxを使用する利点は何ですか?

4
Goで大文字と小文字を区別しない正規表現を行うにはどうすればよいですか?
もちろん、のように両方のケースを処理する正規表現を書くこともできますregexp.Compile("[a-zA-Z]")が、正規表現はユーザーが指定した文字列から作成されます。 reg, err := regexp.Compile(strings.Replace(s.Name, " ", "[ \\._-]", -1)) s.Name名前はどこですか。これは「NorthbyNorthwest」のようなものである可能性があります。さて、私にとって最も明白な解決策はs.Name、の各文字をウォークスルーし、各文字に「[nN]」と書くことです。 for i := 0; i < len(s.Name); i++ { if s.Name[i] == " " { fmt.Fprintf(str, "%s[ \\._-]", str); } else { fmt.Fprintf(str, "%s[%s%s]", str, strings.ToLower(s.Name[i]), strings.ToUpper(s.Name[i])) } } しかし、これはかなりエレガントではない解決策だと思います。速度はそれほど問題ではありませんが、別の方法があるかどうかを知る必要があります。
84 regex  go 


4
Go言語でのUnixタイムスタンプの取得(エポックからの現在の時間(秒))
Goで記述されたコードがあり、最新の毎週のビルドで動作するように更新しようとしています。(最後にr60で構築されました)。次のビットを除いて、すべてが機能しています。 if t, _, err := os.Time(); err == nil { port[5] = int32(t) } 現在のGo実装で動作するようにこれを更新する方法に関するアドバイスはありますか?
84 unix  timestamp  go 

4
同じフォルダにgoファイルをインポートする
ローカルのgoファイルを別のgoファイルにインポートするのに問題があります。 私のプロジェクト構造は以下のようなものです -samplego --pkg --src ---github.com ----xxxx -----a.go -----b.go --bin a.goをb.go内にインポートしようとしています。私は以下を試しました、 import "a" import "github.com/xxxx/a" これらのどれもうまくいきませんでした..私はGOPATHに手を出す必要があることを理解していますが、それを正しく行うことができませんでした。現在、私のGOPATHはsamplego(/ workspace / samplego)を指しています。以下のエラーが発生します。 cannot find package "a" in any of: /usr/local/go/src/pkg/a (from $GOROOT) /workspace/samplego/src/a (from $GOPATH) また、これらのソースファイルが別のプロジェクト/モジュールにインポートされた場合、GOPATHはどのように機能しますか?では、現地輸入が問題になるのでしょうか。この場合のベストプラクティスは何ですか?モジュールにgoファイルを1つだけ(関連するテストとともに)持つことですか?
84 import  path  go 

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