学了一段时间的swift,感觉语法很简单,和oc比已经精简到极致了。但是回过头来写代码,还是写不出来。所以从现在起写下笔记,来记录我学习swift的点点滴滴。
首先我参考的是苹果官方的书籍 《The Swift Programming Language》,还买了一本书,关东升的《Swift开发指南》
学编程,第一句代码一般都是“hello world”。swift也不例外,开篇的第一句就是在屏幕上打印“Hello world”,和oc的日志输出不一样,打印语句变成了和Java一样的println。语句末尾可以不加分号,但是我看着好别扭,估计是强迫症吧
还记得初次学编程打印完 Hello world后遇到的是什么吗?对,就是变量和常量。在Swift中,用let关键字来声明常量,用var关键字来声明变量。如果没有接触过类似的语言,短时间内还适应不过来。我记得在后台语言中见到过这样的声明方式,不用我们声明类型,由编译器自动推断类型。
1 var myVariable = 42 2 3 myVariable = 50 4 5 let myConstant = 42 //这是常量,一旦赋值不可更改
声明时类型是可选的,声明的同时赋值的话,编译器会自动推断类型。如果初始值没有足够的信息,那么就需要在变量后声明类型:
1 let implicitInteger = 70 2 3 let implictiDouble : Double = 70
在Swift中类型关键字首字母是大写,一时半会还适应不过来
接着就说到了类型转换,Swift中值永远不会被隐式转换
1 let label = “hello” 2 3 let width = 94 4 5 let widthLabel = label + String(width)
首先用String()这个方法把整型变量转换成了字符串,然后用一个“+”连接两个字符串。而且和oc不同的是,字符串不用加“@”符号了。为什么我越看越像Java的语法?
这个是通过类型的类方法转换的,还有一种更简单的方式把值转换成字符串:
1 let apples = 3 2 3 let appleSummary = “I have \(apples + 2) apples”
把值写到括号中,前面加一个反斜杠
突然想到一点
实际上,我们的变量名可以这样
1 let