swift第一课
数字转字符串
var age = 10
var hand = 2
var str = "I have " + string(hand) + "hands,\(age) years old"
string(hand),\(age)
var(变量)let(常量)
命名规则:任意字符
数据类型:Int,Float,Double,Bool,Character,String,Array,Dictionary,元祖类型(Tuple),可选类型(Optional)
let age:Int = 10 (变量类型) ---- let age = 10
变量使用之前必须初始化
0b/二进制 0b1010//10
0o/八进制 0o12/10
0x/十六进制
浮点数:默认为double(至少15位小数点),float(6位)
类型别名:typealias MyInt = Int
N对N赋值let(x,y) = (1,2) x = 1都为常量
swift 的赋值运算符没有返回值
if (x=y){}//错误,没有具体的值
求余运算符
9%4//1 -9%4//-1 9%-4//1 -9%-4//-1 求余结果的正负跟百分号左边数值的正负一致
支持浮点数的求余计算:8%2.5//0.5
bool:true,false只有这两个值,没有非零为真的概念
if语句的条件必须为bool类型的值
三目运算的条件必须为Bool类型的值
范围运算符:
闭合范围运算符:[a,b] 0...3
半闭合范围运算符:[a,b) 0..<3
for index in 1...5//5次
元组类型 var position = (x : 10.5, y : 20 )<数组与结构体的结合>
元组的访问 position.x,position.y; position.0,position.1
position.x = 30//let 类型不能修改
let position = (10,20)//简写
let position = (29,"jack")//数据类型任意
swift会自动推断类型
可明确声明类型:var person:(Int,String) = (20,"jack")//明确指定元素类型的情况下不能加上元素的名称 :var person:(Int,String) = (age:20,name:"jack")//错误
var(x,y) = (10,20)
var point = (x,y)
var point = (10,20)
var (x,y) = point
可以使用下划线忽略某个元素的值,取出其他元素的值:var (_,name) = person
switch a//c中只能为整数,swift为任意
case后必须有执行语句,执行完后直接退出switch
case的多条件匹配:case 0,1:语句
case的范围匹配:case 90...100:语句
注意:switch要保证处理所有可能的情况,不然会报错,不能省略default
case匹配元组
标签:可以明确指定退出循环
swift无指针概念
输入输出参数:
func change(inout num:Int){
num = 10
}
var a = 20
change(&a)//a=10
数字转字符串
var age = 10
var hand = 2
var str = "I have " + string(hand) + "hands,\(age) years old"
string(hand),\(age)
var(变量)let(常量)
命名规则:任意字符
数据类型:Int,Float,Double,Bool,Character,String,Array,Dictionary,元祖类型(Tuple),可选类型(Optional)
let age:Int = 10 (变量类型) ---- let age = 10
变量使用之前必须初始化
0b/二进制 0b1010//10
0o/八进制 0o12/10
0x/十六进制
浮点数:默认为double(至少15位小数点),float(6位)
类型别名:typealias MyInt = Int
N对N赋值let(x,y) = (1,2) x = 1都为常量
swift 的赋值运算符没有返回值
if (x=y){}//错误,没有具体的值
求余运算符
9%4//1 -9%4//-1 9%-4//1 -9%-4//-1 求余结果的正负跟百分号左边数值的正负一致
支持浮点数的求余计算:8%2.5//0.5
bool:true,false只有这两个值,没有非零为真的概念
if语句的条件必须为bool类型的值
三目运算的条件必须为Bool类型的值
范围运算符:
闭合范围运算符:[a,b] 0...3
半闭合范围运算符:[a,b) 0..<3
for index in 1...5//5次
元组类型 var position = (x : 10.5, y : 20 )<数组与结构体的结合>
元组的访问 position.x,position.y; position.0,position.1
position.x = 30//let 类型不能修改
let position = (10,20)//简写
let position = (29,"jack")//数据类型任意
swift会自动推断类型
可明确声明类型:var person:(Int,String) = (20,"jack")//明确指定元素类型的情况下不能加上元素的名称 :var person:(Int,String) = (age:20,name:"jack")//错误
var(x,y) = (10,20)
var point = (x,y)
var point = (10,20)
var (x,y) = point
可以使用下划线忽略某个元素的值,取出其他元素的值:var (_,name) = person
switch a//c中只能为整数,swift为任意
case后必须有执行语句,执行完后直接退出switch
case的多条件匹配:case 0,1:语句
case的范围匹配:case 90...100:语句
注意:switch要保证处理所有可能的情况,不然会报错,不能省略default
case匹配元组
标签:可以明确指定退出循环
swift无指针概念
输入输出参数:
func change(inout num:Int){
num = 10
}
var a = 20
change(&a)//a=10