首页 > 代码库 > Swift基础 (一)
Swift基础 (一)
1:hello world
import Foundationprintln("hello world")
就这样,一句代码就可以打印出 hello world 不需要在末尾加";" 这里如果你加了";"同样可以运行的。感觉好像是为了避免麻烦,不再像c语言那样,每句代码末尾都加";",说来也是,从哲学来说,每句代码都加";"约等于不加";" ,反而每次都写,麻烦!
2:代码注释,和c语言的 "//" 与"/* */"一样
3: println()输出
如果要输出变量
var fTmp = 8.9println("\(fTmp)")//println的格式化是用的"\()"来做的,这个万能的东西,顶替了c语言的printf()时候用%s,%d, %c, %f格式化写参数的办法。其原因我估计还是因为他能推理变量的类型,所以自己做了数据类型格式化吧,
4:常量和变量
在使用前必须要先声明。声明是用 ":"
var strMsg: StringstrMsg = "I‘m swift"
var strMsg : String?//默认初始化位nil
let iMax = 10 //常量 ,需要初始化,不能再次被修改
//iMax = 9 编译失败,可能类似与c语言的const修饰吧。
var iMini = 3//变量,可以不初始化
var iTmp : Int32//变量声明。没初始化iTmp = 44//变量赋值
这里,swift对数据类型是采用的推理类型而来的,他的推理类型也符合c语言中数据类型转换时候的兼容规则
var fTmp = 8.9fTmp = 9println("\(fTmp)")//这里推理fTmp为float类型,那么这里在fTmp=9时候,可以把整数9类型转换成float类型。所以你可以看到输出的是 9.0
但反之则不行
var fTmp = 8
//fTmp = 9.02 编译失败
可以一次定义多个变量
var iTmp = 9, iTex = 9.8//这里每个变量的类型推理都是独立的。// iTmp = 8.99 出错//iTmp 被推理为 int。 iTex推理为float
var red, green, blue: Double//表示三个变量都为Double类型
变量名和常量名支持unicode,这样,也可以用汉字或者其他字符,但我想我是不会这么使用的。
5:int 数据类型
int数据表示范围可以用 .max方法
let minValue = http://www.mamicode.com/UInt8.min // minValue is equal to 0, and is of type UInt8let maxValue = http://www.mamicode.com/UInt8.max // maxValue is equal to 255, and is of type UInt8
Int 根据系统,32系统下表示 Int32 和64位系统下Int64。
UInt 根据系统,32系统下表示 UInt32 和64位系统下UInt64。
let decimalInteger = 17let binaryInteger = 0b10001 // 17 in binary notationlet octalInteger = 0o21 // 17 in octal notationlet hexadecimalInteger = 0x11 // 17 in hexadecimal notation
类型转换
var dbVar :DoubledbVar = 9.9let iVar = Int(dbVar)println("\(iVar)")var strInt = "123"var iVar = strInt.toInt()如果成功,iVar返回Int 否则返回nil
6:Bool 该类型明确的是 "true" 和"false"
if 语句只检测Bool类型
let iFlag= 1if iFlag { // 编译失败, 1不是逻辑值}
let iFlag= 1if 1==iFlag { //可以}
7:元组数据 用()括起来
let tupError = (500, "httpError")let (errorCode, errorMsg) = tupErrorprintln("\(errorCode)")//500println("\(errorMsg)")// httpError
你也可以定义命名元组
let tupError = (errorCode :500, errorMsg:"httpError")println("\(errorCode)")//500println("\(errorMsg)")// httpError
8:nil swift的nil不同于其他语言,比如OC表示空指针,而swift表示没有值,至于类型不仅限于指针类型。swift中可以把nil设置给任何类型
var iFlag :Int?iFlag = niliFlag = 9
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。