swift入门教程(1)

  原文地址:http://blog.csdn.net/hello_hwc/article/details/39782829

一、常量和变量

这里首先说的是,swfit可以使用分号结尾,也可以不使用,但是,一行要执行多个语句,一定要分号

变量声明用var 
常量声明用let
常量和变量的名字可以是Unicode字符,但是不能包含数学符号,箭头,保留的字符(例如:while)

[plain]  view plain copy
  1. let constVar = 10  
  2. var tempVar = 11.0  
[plain]  view plain copy
  1. let 黄文臣 = "程序员"  
  2. constVar++ //Wrong constVar是常量  
  3. tempVar++  
  4. println(tempVar)//输出Var并且换行  

swift是类型安全的语言,编译器会根据变量或者常量初始化的时候去给它分配一个类型

例如:

[plain]  view plain copy
  1. let radius = 1 + 0.06//swift会推断出radius是浮点数Double类型  


声明变量或者常量的时候 可以显式声明它的类型
[plain]  view plain copy
  1. var tempVar:String = "1234" 表示tempvar是一个String类型的变量  

一般无需这样声明,因为swift突出一个精简,编译器能做的事情,程序员就不要画蛇添足了
备注:println的输出复杂信息

[plain]  view plain copy
  1. println("The current output is \(tempVar)")  


二、注释
和C++,OC类似,具有以下注释方式
//注释一行
/*
...
*/注释一段
另外,
swfit支持注释嵌套
/*
...
/*...*/
*/
三、数据类型
整数

Int:长度和平台的原声字长相同,即32位的时候,int就和Int32相同,64位机子的时候,就和Int64相同
UInt 和Int类似,只不过无符号//不推荐使用,最好统一使用int,方便类型转换
另外还有
Int8,Int16,Int32,Int64等类型,只不过长度不同
Int.max 返回Int的最大值
Int.min 返回Int的最小值
二进制数:0b 
八进制数:0o
十六进制:0x
exp表示10^exp
例如
[plain]  view plain copy
  1. let binaryInteger = 0b1111  
  2. let octalInteger = 0o21  
  3. let hexadecmalInteger = 0x21  
  4. let expFloat = 1.25e-2// 1.15* 10^-2 = 0.0125  


浮点数
Double:64位//精度很大的浮点数
Float:32位 //一般精度的浮点数


在swift中,
整数和浮点数的转换必须显式指定
[plain]  view plain copy
  1. let four = 4  
  2. let varDouble = 0.1111  
  3. let tempDouble = Double(four) + varDouble//则,tempDouble为Double类型  




布尔值
两个布尔值:true false 分别表示真假


元组(tuples)
[plain]  view plain copy
  1. 多个值表示的一个序列,熟悉Python的同学对这个应该不陌生  
  2. let tupleExample = ("Hwc","程序员")  
  3. let (name,jop) = tupleExample  
  4. println("The jop of \(name) is \(jop)")  
  5. 可以获得一部分元素,忽略的部分用下划线表示  
  6. let (name,_) = tupleExample  
  7. 也可以使用下标访问  
  8. let name = tupleExample.0  
  9. let jop = tupleExample.1  
  10. 元组对于一个函数有多个返回值来说非常有用  




可选类型

[plain]  view plain copy
  1. let var1 = "12"  
  2. let intVar1 = var1.toInt()  

这里的intVar1就是一个可选类型Int?,问号表示要么intVar存在,他就是一个Int类型,要么intVar1不包含值
用if 可以判断这变量or常量是否含有值,如果含有可以用感叹号!来获取这个值,就是告诉编译器器,我知道这个值存在,你直接把他转换成Int类型,不要是Int?类型
[plain]  view plain copy
  1. if intVar1!= nil{  
  2.     let result = intVar1!  
  3. }  


对一个变量赋值nil,则表示它没有值
nil不能用于非可选类型的变量和常量
例如
[plain]  view plain copy
  1. var temp:Int?  
  2. temp = nil//right  
  3. var temp:Int  
  4. temp = nil //Wrong  



可选绑定
使用可选绑定来判断类型是否包含值,如果包含就把这个值赋给临时常量或变量
常用在if或者while的判断里
例如

如果可以转换为整数,则if条件满足,否则不满足

let intVar = var1.toInt()

if let tempVar = intVar{//Do something else }


隐式解析可选类型

[plain]  view plain copy
  1. var temp1:Int? = 10  
[plain]  view plain copy
  1. var intAlwaysExist:Int! = temp1  
  2. println(intAlwaysExist)//Do not need to use intAlwaysExist! ro check if intAlwaysExist != nil  
隐式解析可选类型相对于可选类型的优点是不需要每次都判断可选类型是否存在,然后用解析符号!来取值。
对于一个可以确定以后一直存在的一个值,用隐式解析可选类型是十分有效的。


三、typealias
相当于typedef,类型别名
使用方法:typealias dataType = Int
let data1:dataType = 5//声明一个Int类型的data
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值