[解決済み] Go golang、シンタックスエラー: unexpected ++, expecting :
2022-02-16 06:31:55
質問
func test(args ...string) {
var msg map[string] interface{}
i := 0
msg["product"] = args[i++]
msg["key"] = args[i++]
msg["signature"] = args[i++]
msg["string_to_sign"] = args[i++]
}
go build utils.go
をコンパイルした後、エラーメッセージが表示されます。
./utils.go:28: syntax error: unexpected ++, expecting :
./utils.go:28: missing statement after label
./utils.go:29: syntax error: unexpected ++, expecting :
./utils.go:30: syntax error: unexpected ++, expecting :
./utils.go:31: syntax error: unexpected ++, expecting :
./utils.go:36: syntax error: unexpected ++, expecting :
./utils.go:37: syntax error: unexpected ++, expecting :
スライスのインデックスにi++を入れられないのですが、何か制限があるのでしょうか?
どうすればいいですか?
<ブロッククオートなぜ ++ や -- は式ではなく、文なのですか?また、なぜpostfix, はプレフィックスではないのですか?
ポインタ演算がないと、プリフィックスやポストフィックスの利便性が損なわれます。 インクリメント演算子が減少する。式から削除することで 階層構造全体が単純化され、式の構文も単純化されます。 と -- の評価順序に関する問題(f(i++) と p[i] = q[++i])も不要になる。この簡略化は が大きい。ポストフィックスとプリフィックスに関しては、どちらでも良いのですが プレフィックスにこだわるのは、1960年代から1960年代にかけてのことである。 STLは、皮肉にもその名前に "S "が含まれている言語用のライブラリです。 ポストフィックス・インクリメント
というオペランドをインクリメントまたはデクリメントする文です。 型付けされていない定数1です。代入の場合と同様に、オペランドは必ず アドレス指定可能か、マップインデックス式です。
IncDecStmt = Expression ( "++" | "--" ) .
次の代入文は意味的に同等である。
IncDec statement Assignment
x++ x += 1
x-- x -= 1
書いてください。
func test(args ...string) {
var msg map[string]interface{}
i := 0
msg["product"] = args[i]
i++
msg["key"] = args[i]
i++
msg["signature"] = args[i]
i++
msg["string_to_sign"] = args[i]
}
あなたの特別なケースでは、次のように単純化されます。
func test(args ...string) {
var msg map[string]interface{}
msg["product"] = args[0]
msg["key"] = args[1]
msg["signature"] = args[2]
msg["string_to_sign"] = args[3]
}
関連
-
[解決済み】Bashのシンタックスエラー:予期しないファイルの終わり
-
[解決済み] twigで文字列を連結する方法
-
[解決済み] はOCamlの構文糖でbegin.endですか?
-
[解決済み] 演算子:=とは何ですか?
-
[解決済み] なぜ"||"は "or "の記号なのですか?[クローズド]
-
[解決済み] Bashの変数代入でCommand not foundエラーが発生する
-
[解決済み] カプセル化された匿名関数の構文について説明します。
-
[解決済み】関数宣言の構文:関数名の前に括弧でくくられたもの
-
[解決済み】PowerShellで"&&"や"-and "を動作させることはできますか?
-
[解決済み] Kotlinの変数名前アスタリスク演算子またはSpread演算子
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] どなたか説明してください - for (int i = 0; i < 8; i++) [closed].
-
[解決済み] twigで文字列を連結する方法
-
[解決済み] はOCamlの構文糖でbegin.endですか?
-
[解決済み] Go golang、シンタックスエラー: unexpected ++, expecting :
-
[解決済み] 演算子:=とは何ですか?
-
[解決済み] なぜ"||"は "or "の記号なのですか?[クローズド]
-
[解決済み] YAMLです。YAML の文字列には引用符が必要ですか?
-
[解決済み] IFステートメントを使用しているときに、シェルコマンドを複数行に分割するにはどうすればよいですか?
-
[解決済み】PowerShellで"&&"や"-and "を動作させることはできますか?
-
[解決済み] プログラミング言語における文法と意味の違いは何ですか?