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

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

24
UbuntuでGOPATH環境変数を設定するにはどうすればよいですか?どのファイルを編集する必要がありますか?
私はしようとしていますgo get: go get github.com/go-sql-driver/mysql そしてそれは次のエラーで失敗します: package github.com/go-sql-driver/mysql: cannot download, $GOPATH not set. For more details see: go help gopath を実行するgo envと、Go値のリストが次のように表示されます。 ubuntu@ip-xxx-x-xx-x:~$ go env GOARCH="amd64" GOBIN="" GOCHAR="6" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOOS="linux" GOPATH="" GORACE="" GOROOT="/usr/lib/go" GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64" CC="gcc" GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread" CGO_ENABLED="1" GOPATHが設定されていないことは明らかですが、どこでどのように設定すればよいですか このエラーについて言及しているスレッドはたくさんありますが、私の質問に対する答えを提供しているスレッドはありません。このパスの値を提供するためにどのファイルを編集する必要がありますか?
258 linux  ubuntu  go 

6
GoでのJSON Postリクエストの処理
だから私は信じられないほどハックに思える次のものを持っています、そして私はGoがこれよりも優れたライブラリを設計したと私は考えていましたが、JSONデータのPOSTリクエストを処理するGoの例を見つけることができません。それらはすべてフォームPOSTです。 次にリクエストの例を示します。 curl -X POST -d "{\"test\": \"that\"}" http://localhost:8082/test そしてここにコードがあり、ログが埋め込まれています: package main import ( "encoding/json" "log" "net/http" ) type test_struct struct { Test string } func test(rw http.ResponseWriter, req *http.Request) { req.ParseForm() log.Println(req.Form) //LOG: map[{"test": "that"}:[]] var t test_struct for key, _ := range req.Form { log.Println(key) //LOG: {"test": "that"} …
250 json  go 

2
関数宣言構文:関数名の前の括弧内のもの
質問のタイトルを具体的に説明できなかったのは残念ですが、Goコードを読んでいて、次の形式の関数宣言が見つかりました。 func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { ... } https://github.com/mattermost/platform/blob/master/api/context.goから func (s *GracefulServer) BlockingClose() bool { ... } https://github.com/braintree/manners/blob/master/server.goから 何が(h handler)と(s *GracefulServer)括弧の平均値との間には?括弧内の意味を考慮して、関数宣言全体はどういう意味ですか? 編集する これはGoの関数とメソッドの相違点の重複ではありませんか?:この質問は、関数名の前の括弧内の内容が何であるかがわからなかったため、そして関数とメソッドの違いは何だろうと思ったために出てきました...この宣言がメソッドであることがわかっていれば、そもそもこの質問はありませんでした。誰かが私と同じ疑問をいつか持っているとしたら、彼女が「golangメソッド」を探しに行くとは思えません。それは、数式の前に「シグマ」という文字が何を意味するのか(合計を意味することを知らない)疑問に思うようなものであり、誰かがそれが合計と他の何かとの違いは何であるかを複製していると言います。 また、この質問に対する短い答え(「それはレシーバーです」)は、「関数とメソッドの違いは何ですか」に対する答えではありません。
248 go 

4
GoのPOSTリクエストでJSON文字列を送信する方法
私はApiaryで作業してみて、JSONをモックサーバーに送信するユニバーサルテンプレートを作成し、次のコードを用意しました。 package main import ( "encoding/json" "fmt" "github.com/jmcvetta/napping" "log" "net/http" ) func main() { url := "http://restapi3.apiary.io/notes" fmt.Println("URL:>", url) s := napping.Session{} h := &http.Header{} h.Set("X-Custom-Header", "myvalue") s.Header = h var jsonStr = []byte(` { "title": "Buy cheese and bread for breakfast." }`) var data map[string]json.RawMessage err := json.Unmarshal(jsonStr, &data) …
244 json  rest  go  apiary 

9
現在実行中のファイルのディレクトリを取得するにはどうすればよいですか?
nodejsでは__dirnameを使用します。Golangでこれに相当するものは何ですか? 私はググってこの記事を見つけましたhttp://andrewbrookins.com/tech/golang-get-directory-of-the-current-file/。彼が以下のコードを使用する場所 _, filename, _, _ := runtime.Caller(1) f, err := os.Open(path.Join(path.Dir(filename), "data.csv")) しかし、それはGolangで行う正しい方法または慣用的な方法ですか?
239 go 

5
「宣言されて使用されない」という迷惑なエラーを回避する方法
私はGoを学習していますが、コンパイルするときに変数やパッケージを未使用のままにしてはいけないのは少し面倒です。 これは本当に私をかなり遅くしています。たとえば、新しいパッケージを宣言して後で使用するか、テストするコマンドのコメントを外したいだけです。私はいつもエラーが出るので、それらすべての使い方についてコメントする必要があります。 Goでこの種のチェックを回避する方法はありますか?
238 go 

7
複数ファイルのGoプロジェクトの整理[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 8か月前に閉鎖。 この質問を改善する 注:この質問はこれと関連していますが、Goの歴史では2年は非常に長い時間です。 開発中にGoプロジェクトを編成する標準的な方法は何ですか? 私のプロジェクトは単一のパッケージなmypackので、すべての.goファイルをmypackディレクトリに配置したと思います。 しかし、その後、開発中にテストしたいので、少なくともmainパッケージを宣言するファイルが必要です。これにより、go run trypack.go これをどのように整理すればよいですか?やっgo install mypackてみたいと思うたびにやる必要がありますか?
237 go 


6
マップからキーのスライスを取得する
Goのマップからキーのスライスを取得するより簡単で優れた方法はありますか? 現在、私はマップを反復処理し、キーをスライスにコピーしています: i := 0 keys := make([]int, len(mymap)) for k := range mymap { keys[i] = k i++ }
230 go 

3
go getでインストールされたパッケージの削除
他の方法でパッケージgo get packageを設定GOPATHすると、ルートGoインストールが失敗することを知る前に、パッケージをダウンロードして実行しました(Goインストールをクリーンに保ち、コアをカスタムから分離した方がいいです)。以前にインストールしたパッケージを削除するにはどうすればよいですか?
227 go 


12
Goはどのようにすばやくコンパイルするのですか?
私はGodを使ってGoのウェブサイトをあちこち調べましたが、Goの異常なビルド時間の説明を見つけることができません。それらは言語機能(またはその欠如)の製品、高度に最適化されたコンパイラ、または何か他のものですか?私は囲碁を宣伝するつもりはありません。気になるだけです。




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