var userName = "Watanabe"
func makeMassage(user: String) -> String {
"Hello, \(user)"
}
makeMassage(user: userName)
上のサンプルコードは、戻り値がある関数なのに、returnをつけていません。
関数内の実装が戻り値の返却のみの時だけ、暗黙的なreturnができます。
func nonMakeMassage(user: inout String) -> String {
user = "Tanaka"
"Hello, \(user)"
}
nonMakeMassage(user: &userName)
当たり前ですが上のコードだと
Missing return in a function expected to return 'String'; did you mean to return the last expression?
と怒られました。
参考
[増補改訂第3版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plusシリーズ)