回答編集履歴

2

ミスの修正をしました

2017/11/12 15:04

投稿

退会済みユーザー
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  var m = "hello"
10
10
 
11
- fmt.Println(result)
11
+ fmt.Println(result(m))
12
12
 
13
13
  }
14
14
 

1

追記

2017/11/12 15:04

投稿

退会済みユーザー
test CHANGED
@@ -31,3 +31,37 @@
31
31
  }
32
32
 
33
33
  ```
34
+
35
+
36
+
37
+ # 追記
38
+
39
+ ifの中で変数を初期化すると、スコープがif文内だけになってしまいます。
40
+
41
+ なので
42
+
43
+
44
+
45
+ ```go
46
+
47
+ func result(m string) string {
48
+
49
+ var back string //ifの外でbackを初期化
50
+
51
+ if m == "hello" {
52
+
53
+ back = "done"
54
+
55
+ } else {
56
+
57
+ back = "undone"
58
+
59
+ }
60
+
61
+ return back
62
+
63
+ }
64
+
65
+ ```
66
+
67
+ このようにするとreturnが一つですみます。