商务网站建设体会,程序员做网站类网站,玉溪网络推广 网站建设,龙华网站设计基本数据类型
Int、UInt#xff1a;整数型、非负整数Float、Double#xff1a;单精度浮点数、双精度浮点数Bool#xff1a;布偶值String、Character#xff1a;字符串、字符
其他类型
Array, Dictionary#xff1a;数组、字典StructClassvar#xff1a;变量let#x…基本数据类型
Int、UInt整数型、非负整数Float、Double单精度浮点数、双精度浮点数Bool布偶值String、Character字符串、字符
其他类型
Array, Dictionary数组、字典StructClassvar变量let常量必须在声明的时候赋值
类型别名
typealias类型别名 typealias newname type/// 定义Feet类型为Int类型typealias Feet Int可选类型
Optional可选类型用于处理值缺失的情况。可选表示那儿有一个值并且它等于 x “或者那儿没有值nil”。 // 两种写法等价var optionalInteger: Int?var optionalInteger: OptionalInt强制解析当你确定可选类型确实包含值之后你可以在可选的名字后面加一个感叹号!来获取值。这个感叹号表示我知道这个可选有值请使用它。 var myString:String?myString Hello, Swift!if myString ! nil {// 强制解析print( myString! )}else{print(myString 值为 nil)}自动解析你可以在声明可选变量时使用感叹号!替换问号?。这样可选变量在使用时就不需要再加一个感叹号!来获取值它会自动解析。 // 自动解析var myString:String!myString Hello, Swift!if myString ! nil {// 自动解析print(myString)}else{print(myString 值为 nil)}类型标注 // 方法一var varB:FloatvarB 3.14159print(varB)// 方法二let constB:Float 3.14159print(constB)print输出
\()的使用 let name 菜鸟教程let site http://www.runoob.comprint(\(name)的官网地址为\(site))转义字符
转义字符含义\0空字符\\反斜线 \\n换行符\r回车符\’单引号\双引号
其他进制表示
二进制前缀为 0b八进制前缀为 0o十六进制前缀为 0x十进制没有前缀 let decimalInteger 17 // 17 - 十进制表示let binaryInteger 0b10001 // 17 - 二进制表示let octalInteger 0o21 // 17 - 八进制表示let hexadecimalInteger 0x11 // 17 - 十六进制表示区间运算符
1...5 区间值为 1, 2, 3, 4 和 51.. 5 区间值为 1, 2, 3, 和 4 for index in 1...5 {print(闭区间运算符:)}for index in 1..5 {print(半开区间运算符:)}合并空值运算符??
合并空值运算符 a ?? b 如果可选项 a 有值则展开如果没有值是 nil则返回默认值 b表达式 a 必须是一个可选类型表达式 b 必须与 a 的存储类型相同合并空值运算符实际上是三元运算符作用到 Optional 上的缩写 a ! nil ? a! : b如果 a 的值是非空b的值将不会被考虑也就是合并空值运算符是短路的
函数
runoob函数名 name、site参数String返回值
func runoob(name: String, site: String) - String {return name site
}
// 调用
print(runoob(name: 菜鸟教程, site: www.runoob.com))元组tuple类型让多个值作为一个复合值从函数中返回
func minMax(array: [Int]) - (min: Int, max: Int) {var currentMin array[0]var currentMax array[0]for value in array[1..array.count] {if value currentMin {currentMin value} else if value currentMax {currentMax value}}return (currentMin, currentMax)
}let bounds minMax(array: [8, -6, 2, 109, 3, 71])
print(最小值为 \(bounds.min) 最大值为 \(bounds.max))没有返回值
func runoob(site: String) {print(菜鸟教程官网\(site))
}
runoob(site: http://www.runoob.com)可变参数
func variN(members: N...){for i in members {print(i)}
}
vari(members: 4,3,5)
vari(members: 4.5, 3.1, 5.6)
vari(members: Google, Baidu, Runoob)