回答編集履歴
2
補足追記
answer
CHANGED
@@ -12,4 +12,6 @@
|
|
12
12
|
```go
|
13
13
|
a, err := func1()
|
14
14
|
b, err := func2()
|
15
|
-
```
|
15
|
+
```
|
16
|
+
|
17
|
+
ただし、いずれにせよ「:=」の左辺には「単純変数名」しか置けません。
|
1
追記
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
|
+
```
|