it will return a value must always do so. A function with a defined return type cannot allow control to fall out of the bottom of the function without returning a value, and attempting to do so will result in a compile-time error. Functions with Multiple Return Values You can use a tuple type as the return type for a function to return multiple values as part of one compound return value. The example below defines a function called count, which counts the number of vowels, consonants, and other characters in a string, based on the standard set of vowels and consonants used in American English: func count(string: String) -> (vowels: Int, consonants: Int, others: Int) { var vowels = 0, consonants = 0, others = 0 for character in string { switch String(character).lowercaseString { case "a", "e", "i", "o", "u": ++vowels case "b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z": ++consonants default: ++others } eturn (vowels, consonants, others) You can use this count function to count the characters in an arbitrary string, and to retrieve the counted totals as a tuple of three named Int values: let total = count("some arbitrary string!") println("\(total.vowels) vowels and \(total.consonants) consonants")