简单看了一下swift的基本语法,发现了一些很问题,这问题主要是避免了一些没有编程基础的人入门。
这里展示的是和C或者Objective-C不同的地方,或者称其优势。
你可以用任何你喜欢的字符作为常量和变量名,包括 Unicode 字符。
与 C 语言和 Objective-C 不同,Swift 的赋值操作并不返回任何值。
这个特性使得你无法把(==)错写成(=)了,由于if x = y是错误代码,Swift 从底层帮你避免了这些代码错误。
与 C 语言和 Objective-C 不同的是,Swift 默认不允许在数值运算中出现溢出情况。但你可以使用 Swift 的溢出运算符来达到你有目的的溢出(如a &+ b)。
不同于 C 语言和 Objective-C,Swift 中是可以对浮点数进行求余的。
你可以使用一个元组类型作为函数的返回类型返回一个有多个值组成的一个复合作为返回值。
下面的例子定义了一个名为count函数,用它计来算字符串中基于标准的美式英语中设定使用的元音、辅音以及字符的数量:
您可以使用此计数函数来对任意字符串进行字符计数,并检索统计总数的元组三个指定Int值:
需要注意的是在这一点上元组的成员不需要被命名在该该函数返回的元组中,因为他们的名字已经被指定为函数的返回类型的一部分。
PS:C语言和Objective-C语言也可以完成多值返回,但方式比较复杂(详情google搜索),没有swift这样简单。
这里展示的是和C或者Objective-C不同的地方,或者称其优势。
变量名
你可以用任何你喜欢的字符作为常量和变量名,包括 Unicode 字符。
赋值运算符
与 C 语言和 Objective-C 不同,Swift 的赋值操作并不返回任何值。
if x = y {
// 此句错误, 因为 x = y 并不返回任何值
}
这个特性使得你无法把(==)错写成(=)了,由于if x = y是错误代码,Swift 从底层帮你避免了这些代码错误。
数值运算
与 C 语言和 Objective-C 不同的是,Swift 默认不允许在数值运算中出现溢出情况。但你可以使用 Swift 的溢出运算符来达到你有目的的溢出(如a &+ b)。
浮点数求余计算
不同于 C 语言和 Objective-C,Swift 中是可以对浮点数进行求余的。
多返回值函数
你可以使用一个元组类型作为函数的返回类型返回一个有多个值组成的一个复合作为返回值。
下面的例子定义了一个名为count函数,用它计来算字符串中基于标准的美式英语中设定使用的元音、辅音以及字符的数量:
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
}
}
return (vowels, consonants, others)
}
您可以使用此计数函数来对任意字符串进行字符计数,并检索统计总数的元组三个指定Int值:
let total = count("some arbitrary string!")
println("\(total.vowels) vowels and \(total.consonants) consonants")
// prints "6 vowels and 13 consonants"
需要注意的是在这一点上元组的成员不需要被命名在该该函数返回的元组中,因为他们的名字已经被指定为函数的返回类型的一部分。
PS:C语言和Objective-C语言也可以完成多值返回,但方式比较复杂(详情google搜索),没有swift这样简单。
评论
发表评论