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

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

3
Goで2Dスライスを作成する簡潔な方法は何ですか?
私は囲碁のツアーに参加して囲碁を学んでいます。そこでの演習の1つで、を含むdy行とdx列の2Dスライスを作成するように求められますuint8。うまくいく私の現在のアプローチはこれです: a:= make([][]uint8, dy) // initialize a slice of dy slices for i:=0;i<dy;i++ { a[i] = make([]uint8, dx) // initialize a slice of dx unit8 in each of dy slices } 各スライスを繰り返して初期化するのは冗長すぎると思います。また、スライスの次元が増えると、コードが扱いにくくなります。Goで2D(またはn次元)スライスを初期化する簡潔な方法はありますか?
103 go  slice 

2
Goでリテラル* int64を実行するにはどうすればよいですか?
*int64フィールドを持つ構造体型があります。 type SomeType struct { SomeField *int64 } 私のコードのある時点で、これのリテラルを宣言したいと思います(たとえば、値が0でなければならないことがわかっている場合、または0を指している場合、私が何を意味するのかを知っています) instance := SomeType{ SomeField: &0, } ...これが機能しないことを除いて ./main.go:xx: cannot use &0 (type *int) as type *int64 in field value だから私はこれを試します instance := SomeType{ SomeField: &int64(0), } ...しかし、これも機能しません ./main.go:xx: cannot take the address of int64(0) どうすればよいですか?私が思いつくことができる唯一の解決策は、プレースホルダー変数を使用することです var placeholder int64 placeholder = 0 …
103 pointers  go  struct  literals 

3
Goのメソッドのデフォルト値
Goの関数でデフォルト値を指定する方法はありますか?ドキュメントでこれを見つけようとしていますが、これが可能であると指定するものは何も見つかりません。 func SaySomething(i string = "Hello")(string){ ... }
103 go 


6
ゴルーチンを止める方法
私はメソッドを呼び出し、チャネルに戻り値を渡すゴルーチンを持っています: ch := make(chan int, 100) go func(){ for { ch <- do_stuff() } }() このようなゴルーチンを止めるにはどうすればいいですか?
102 go  goroutine  channels 

2
「<type>はインターフェースではなくインターフェースへのポインタです」混乱
仲間の開発者各位 私には少し奇妙に思えるこの問題があります。次のコードスニペットをご覧ください。 package coreinterfaces type FilterInterface interface { Filter(s *string) bool } type FieldFilter struct { Key string Val string } func (ff *FieldFilter) Filter(s *string) bool { // Some code } type FilterMapInterface interface { AddFilter(f *FilterInterface) uuid.UUID RemoveFilter(i uuid.UUID) GetFilterByID(i uuid.UUID) *FilterInterface } type FilterMap struct { mutex …
102 pointers  go  interface 

4
Go言語でテストするための適切なパッケージの命名
私はGo内でいくつかの異なるテストパッケージの命名戦略を見てきましたが、それぞれの長所と短所が何であり、どれを使用する必要があるかを知りたいと思っていました。 戦略1: ファイル名:github.com/user/myfunc.go package myfunc テストファイル名:github.com/user/myfunc_test.go package myfunc 例については、bzip2を参照してください。 戦略2: ファイル名:github.com/user/myfunc.go package myfunc テストファイル名:github.com/user/myfunc_test.go package myfunc_test import ( "github.com/user/myfunc" ) 例については、ワイヤーを参照してください。 戦略3: ファイル名:github.com/user/myfunc.go package myfunc テストファイル名:github.com/user/myfunc_test.go package myfunc_test import ( . "myfunc" ) 例については、文字列を参照してください。 Go標準ライブラリは、戦略1と2を組み合わせて使用​​しているようです。3つのうちどれを使用すればよいですか?これはpackage *_test、パッケージのプライベートメソッドをテストできないことを意味するため、テストパッケージに追加するのは面倒ですが、気付かない隠れた利点があるのでしょうか。
102 unit-testing  go 

6
go with brewをインストールし、getourを実行します
私はhttp://tour.golang.org/をたどっていましたが、3つ目の手順にたどり着くと、システムにgetourをインストールできることがわかります。その後、brewを使用してgo言語をインストールしました。 brew install hg brew install go それから私はgetourをダウンロードしました: go get code.google.com/p/go-tour/gotour gotourを起動しようとしたときに、コマンドが認識されませんでした。 $ gotour -bash: gotour: command not found そして $ go gotour そして $ ./gotour だから私は行く道を見てみましたが、それは空でした、 echo $GOPATH だから私はGOPATHを定義しました: GOPATH=/usr/local/Cellar/go/1.0.2/src/pkg/code.google.com/p/ export GOPATH 今、私は実行することによって、getourを実行できます ./gotour しかし、私は自分の囲碁環境に不安を感じています。 go run gotour または次のように入力するだけです(このWebサイトhttp://www.moncefbelyamani.com/how-to-install-the-go-tour-on-your-mac/で説明されているように): gotour 私はgoプログラミング言語に慣れていないので、正しい方法でやっているかどうか知りたいのですが。
101 macos  install  go  homebrew 

2
Goで関数の名前を取得する方法は?
関数が与えられた場合、その名前を取得することは可能ですか?いう: func foo() { } func GetFunctionName(i interface{}) string { // ... } func main() { // Will print "name: foo" fmt.Println("name:", GetFunctionName(foo)) } runtime.FuncForPCが役立つと言われましたが、使用方法を理解できませんでした。

4
実行時エラー:nilマップのエントリへの割り当て
私はマップを生成し、それを次のようなyamlファイルに変換しようとしています: uid : kasi: cn: Chaithra street: fkmp nandan: cn: Chaithra street: fkmp remya: cn: Chaithra street: fkmp 地図を作成しているときに、重要な何かが欠けていると思います。私のコードは以下です。 package main import ( "fmt" "gopkg.in/yaml.v2" ) type T struct { cn string street string } func main() { names := []string{"kasi", "remya", "nandan"} m := make(map[string]map[string]T, len(names)) for _, name …
101 map  go  yaml 



4
Goプログラムに静的リソースをバンドルする最良の方法は何ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 昨年休業。 この質問を改善する 私はGoで小さなWebアプリケーションに取り組んでいます。これは、開発者のマシンでアプリケーション/ Webサービスのデバッグを支援するツールとして使用することを目的としています。プログラムへのインターフェースは、HTMLだけでなく、JavaScript(機能用)、画像、CSS(スタイリング用)を含むWebページです。このアプリケーションをオープンソース化することを計画しているので、ユーザーはMakefileを実行でき、すべてのリソースが必要な場所に移動します。ただし、実行可能ファイルをできるだけ少ないファイル/依存関係で簡単に配布できるようにもしたいと考えています。HTML / CSS / JSを実行可能ファイルにバンドルするための良い方法はありますか?ユーザーは1つのファイルをダウンロードして心配するだけで済みますか? 現在、私のアプリでは、静的ファイルの提供は次のようになります。 // called via http.ListenAndServe func switchboard(w http.ResponseWriter, r *http.Request) { // snipped dynamic routing... // look for static resource uri := r.URL.RequestURI() if fp, err := os.Open("static" + uri); err == nil { defer fp.Close() staticHandler(w, r, fp) return …
100 go 

5
テキストファイルを文字列配列に読み込み(そして書き込み)
文字列配列にテキストファイルを読み書きする機能は、かなり一般的な要件だと思います。また、最初にデータベースにアクセスする必要をなくす言語から始める場合にも非常に役立ちます。Golangには存在しますか? 例えば func ReadLines(sFileName string, iMinLines int) ([]string, bool) { そして func WriteLines(saBuff[]string, sFilename string) (bool) { 複製ではなく、既存のものを使用したいと思います。
100 go 

5
サーバーでSSLが有効になっていません
goを使用してpostgresデータベースと通信しようとし、次のようなステートメントを準備します。 var stmt *sql.Stmt var err error stmt, err = db.Prepare(selectStatement) if err != nil { fmt.Printf("db.Prepare error: %v\n",err) return err } 次のエラーをスローします。 db.Prepare error: pq: SSL is not enabled on the server 解決策はありますか? 必要に応じて、さらに情報を追加できます。
100 go 

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