var //代表变量,变量的值可以改变
let//代表常量类型不可改变
//声明常量heh类型Swift会自动根据你的值来自动判断该变量的类型也可以指定类型(个人感觉还是指定类型的比较好,可能会减少系统的开销),值为10
//自动判断变量的类型
letheh =10//假如在下面的代码中没有用到该变量Swift就会提示将let改为下划线,因为下划线代表忽略该变量,就相当于OC中提示并没有用该属性或者变量一样,估计没用到的变量一般人也不会写,只是给刚入门的说一下并不是你写错了或者Xcode有问题,只是Swift提示很细
//声明指定变量的类型
letheh:Double=10.000
//声明变量hehe类型Swift会自动根据你的值来自动判断该变量的类型也可以指定类型(个人感觉还是指定类型的比较好),值为10
varheh:Double=10//假如声明的变量没有改变的话Swift也会提示将其改为let
//修改变量的值
heh =12
//输出打印信息
print(heh)
Swift还可以用中文当作变量的名字,因为Swift支持unicode编码,所以变量名可以是中文甚至是表情(感觉中文还是好一点,和java一样代码的风格也都和java一样)
比如:
var测试:Double=10
测试=12
print(测试)
而且Swift的字符串不用带@,直接""就可以了
//遍历字符串
letzifu:String="abcdefghijk"
forzfinzifu.characters{
print(zf)
}
或者也可以这样直接将字符串进行遍历(因为Swift会自动把字符串判断成String类型)
forzfin"abcdefghijk".characters{
print(zf)
}
//合并字符串(表示和java基本上就是一样啊)直接用加号就可以了字符串a,b。合成字符串c就是c=a+b
letzifu:String="abcdefghijk"
letzf2="xyz"
letzf3 = zifu+zf2
print(zf3)
print(zifu+zf2)
//转义输出就是5*10=50
leta =5
letb =10
letjs ="\(a)*\(b)=\(a*b)"
print(js)
//数组数组元素必须统一这个就不说了
letnames = ["赵","钱","孙","李","周","吴","正","王"]
print(names)
//字典假如键所对应的值类型都是一样就照着下面写就可以
letzidian = ["a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9,"j":10,"k":11]
print(zidian)
假如值的类型有很多种那么Swift就会提示变成下面这种
letzd = ["jian":"zhi","hehe":5,"sds":8,"sdffd":43,"fdss":"dsdds","dasa":"dsdsd","cdsd":454]as[String:Any]
一看就知道了,后面语句的意思就是键是String类型的,而值为任意类型的
//循环(基本上其他语言有的这里都有)
forzfin"abcdefghijk".characters{
print(zf)
}
//1...5代表遍历1到5包括1和5(三个点代表全闭区间)
fornumberin1...5{
print(number)
}
//1..5代表遍历1到5包括1但不包括5(两个点代表半开半闭区间不包含右边的区尾)
fornumberin1..5{
}
//遍历字典,可以一下就把键和值都遍历出来
for(j,z)inzd {
print("键=\(j),值=\(z)")
}
//数组操作
//数组数组元素必须统一这个就不说了
varnames = ["赵","钱","孙","李","周","吴","正","王"]
//显示元素
print(names[0])
//增加元素
names.append("冯")
//修改元素
names[0]="陈"
//把第三个元素到第五个元素替换掉
names[3...5]=["楚","魏"]
//字典
//定义一个可变字典
varzidian = ["a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9,"j":10,"k":11]
//修改字典某个键的值
zidian["a"]=8
//参数和返回值都为空的一个方法
funckong()
{
print("空")
}
//带参数的方法,但是没有返回值
funchello(hehe:String) {
print("\(hehe)")
}
//带参数并且有返回值
funcfanhuizhi(name:String) ->String{
returnname
}
//多参数多返回值
funcduofanhuizhi() -> (Int,String) {
return(200,"haha")
}
//多参数多返回值第二种类型
funcduofanhuizhi2() -> (code:Int,name:String) {
return(200,"haha")
}