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

回答編集履歴

2

ミスの修正をしました

2017/11/12 15:04

投稿

退会済みユーザー
answer CHANGED
@@ -3,7 +3,7 @@
3
3
  ```go
4
4
  func main() {
5
5
  var m = "hello"
6
- fmt.Println(result)
6
+ fmt.Println(result(m))
7
7
  }
8
8
  func result(m string) string {
9
9
  if m == "hello" { //if stringとするとダメです

1

追記

2017/11/12 15:04

投稿

退会済みユーザー
answer CHANGED
@@ -14,4 +14,21 @@
14
14
  return back
15
15
  }
16
16
  }
17
- ```
17
+ ```
18
+
19
+ # 追記
20
+ ifの中で変数を初期化すると、スコープがif文内だけになってしまいます。
21
+ なので
22
+
23
+ ```go
24
+ func result(m string) string {
25
+ var back string //ifの外でbackを初期化
26
+ if m == "hello" {
27
+ back = "done"
28
+ } else {
29
+ back = "undone"
30
+ }
31
+ return back
32
+ }
33
+ ```
34
+ このようにするとreturnが一つですみます。