我正在做这个问题集“FizzBuzz”,我的switch语句给了我一些问题,这是我的代码:
func fizzBuzz(n: Int) -> String { switch n { case n % 3 == 0: print("Fizz") case n % 5 == 0: print("Buzz") case n % 15 == 0:print("FizzBuzz") } return "\(n)" }
如果你可以提供指针/提示,而不是给我正确的代码,那就会膨胀:D
我宁愿自己解决这个问题,但是一些提示可能会让我脱离这个洞.
尝试使用“case let where”:
func fizzBuzz(n: Int) -> String { let result: String switch n { case let n where n % 3 == 0 && n % 5 == 0: result = "FizzBuzz" case let n where n % 3 == 0: result = "Fizz" case let n where n % 5 == 0: result = "Buzz" default: result = "none" } print("n:",n,"result:",result) return result }