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

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

3
constの命名規則に従う
constGolangの名前に命名規則があるかどうかを確認しようとしています。 私は個人的にはCスタイルに従って大文字で書く傾向がありますが、このページhttp://golang.org/doc/effective_go.htmlには、言語のいくつかの命名規則が記載されているようですが、何も見つかりませんでした。

3
Goの空白で文字列を分割しますか?
などの入力文字列が与えられた場合、" word1 word2 word3 word4 "これをGoの文字列の配列として分割するための最良の方法は何でしょうか?が存在し得ることに留意されたい任意の各単語の間にスペースまたはUnicode間隔文字数。 Javaでは私は単に使用しますsomeString.trim().split("\\s+")。 (注:Goで正規表現を使用して分割文字列が重複している可能性があるため、適切な回答が得られません。regexpまたはへのリンクだけでなく、実際の例をstrings参照してください。)
115 regex  go 

7
Goで部分文字列を抽出する
コンソールから行全体(空白を含む)を読み取って処理しようとしています。bufio.ReadStringを使用すると、改行文字が入力と一緒に読み取られるため、改行文字をトリミングするために次のコードを考え出しました。 input,_:=src.ReadString('\n') inputFmt:=input[0:len(input)-2]+"" //Need to manually add end of string これを行うためのより慣用的な方法はありますか?つまり、部分文字列を抽出するときに、最後のnullバイトを処理するライブラリがすでにありますか? (はい、go readline-> stringで改行文字のない行を読み取る方法がすでにあることは知っていますが、エレガントな文字列操作をもっと探しています。)
114 go  substring 

3
インターフェースを文字列に変換する方法は?
コマンドライン引数を解析するためにdocoptを使用しています。これは機能し、次のようなマップになります map[<host>:www.google.de <port>:80 --help:false --version:false] 次に、hostとport値を連結して、2つの値の間にコロンを付けた文字列にします。基本的に、次のようなもの: host := arguments["<host>"] + ":" + arguments["<port>"] 残念ながら、エラーメッセージが表示されるため、これは機能しません。 無効な操作:引数[""] + ":"(不一致タイプインターフェース{}と文字列) したがって、明らかに、マップから取得した値(これは単なるなinterface{}ので、何でもかまいません)を文字列に変換する必要があります。今私の質問は、どうすればいいですか?
114 go 

4
Goのファイル名の規則は何ですか?
Goでパッケージの命名規則を見つけることができました。単語間に下線を付けず、すべて小文字にします。 この規則はファイル名にも適用されますか? また、Javaクラスの場合と同じように、1つの構造体を1つのファイルに入れ、構造体の名前をファイルに付けますか? 現在、構造体WebServerがある場合は、web_server.goファイルに入れます。

4
Goプロジェクトをレイアウトする賢明な方法は何ですか[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 昨年休業。 この質問を改善する より複雑になり始めているgoプロジェクトがあり、痛みを軽減するような方法でファイルシステムをレイアウトしたいと考えています。 意味のあるものの良い例はありますか?
113 go  project 



5
Goはどのようなガベージコレクションを使用しますか?
Goはガベージコレクションされた言語です。 http://golang.org/doc/go_faq.html#garbage_collection ここでは、マークアンドスイープガベージコレクターであると述べていますが、詳細については掘り下げていません。代わりのものが現在準備中です...しかし、Goがリリースされて以来、この段落はあまり更新されていないようです。 それはまだマークアンドスイープですか?それは保守的ですか、それとも正確ですか。それは世代ですか?


3
Goに「goto」ステートメントがあるのはなぜですか
Goに「goto」という文があることに驚きました。「goto」ステートメントは過去のものであり、それがプログラムの実際のフローをふさいでしまうために邪悪であり、関数またはメソッドは常にフローを制御するより良い方法であると私は常に教えられてきました。 私は何かを逃しているに違いない。なぜGoogleはそれを含めたのですか?
110 go  goto 

5
単一値コンテキストの複数の値
Goでのエラー処理が原因で、私は多くの場合、複数の値の関数を使用します。これまでのところ、これを管理する方法は非常に面倒で、よりクリーンなコードを作成するためのベストプラクティスを探しています。 次の関数があるとします。 type Item struct { Value int Name string } func Get(value int) (Item, error) { // some code return item, nil } 新しい変数をitem.Valueエレガントに割り当てるにはどうすればよいですか。エラー処理を導入する前に、私の関数が返されたitemだけで、これを行うことができます: val := Get(1).Value 今私はこれをします: item, _ := Get(1) val := item.Value 最初に返された変数に直接アクセスする方法はありませんか?

7
空の構造体をチェックする方法は?
構造体を定義します... type Session struct { playerId string beehive string timestamp time.Time } 時々私はそれに空のセッションを割り当てます(nilは不可能だからです) session = Session{}; 次に、空かどうかを確認します。 if session == Session{} { // do stuff... } 明らかにこれは機能していません。どうやって書くの?
110 struct  go 


13
Golangのスライスから要素を削除する方法
fmt.Println("Enter position to delete::") fmt.Scanln(&pos) new_arr := make([]int, (len(arr) - 1)) k := 0 for i := 0; i < (len(arr) - 1); { if i != pos { new_arr[i] = arr[k] k++ i++ } else { k++ } } for i := 0; i < (len(arr) - 1); i++ …
110 go 

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