teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

補足追記

2021/09/09 01:35

投稿

nobonobo
nobonobo

スコア3367

answer CHANGED
@@ -12,4 +12,6 @@
12
12
  ```go
13
13
  a, err := func1()
14
14
  b, err := func2()
15
- ```
15
+ ```
16
+
17
+ ただし、いずれにせよ「:=」の左辺には「単純変数名」しか置けません。

1

追記

2021/09/09 01:35

投稿

nobonobo
nobonobo

スコア3367

answer CHANGED
@@ -5,4 +5,11 @@
5
5
 
6
6
  「新しい変数への束縛」の挙動は「左辺にあるシンボルで現スコープに新たに変数を作り、その初期値を設定する」というものです。エラーメッセージの内容は「`hashChain[i]`はシンボル名として不正なので:=の左辺には使えない」ということです。
7
7
 
8
- つまり「:=」じゃなくて「=」を使いましょうということです。
8
+ つまり「:=」じゃなくて「=」を使いましょうということです。
9
+
10
+ ただ、多値の場合はいずれか一つが「新しい変数名」であれば良いという挙動をとります。
11
+ 以下ののようなコードは実行可能で、2度目のerrは「単なる代入」の挙動になります。
12
+ ```go
13
+ a, err := func1()
14
+ b, err := func2()
15
+ ```