Ekulelu's Blog

学Swift4之1——初见

注:个人的swift2学习笔记,根据Swift4的更新做了更新。

由于知识水平有限,如果有错误,欢迎指出。谢谢!本笔记是在有一定的编程语言基础之上写的。基础为0的朋友可能看得会有点吃力。建议可以看看C语言或OC的基础教程再来看本笔记。

写在前面,swift有一个playground类型的项目,写代码后直接就能看到结果,还是挺好玩的。

Swift和其他高级语言不同,它有变量类型的自动识别。在C语言中,我们声明一个整形变量是用

1
int a = 1;

这个变量是可以改变的,如果不能改变,那么在前面加上const,这个大家都熟悉。可以理解为先有了类型,接下来才是否可以变。
但是在swift中,它首先区别的是变量还是常量。

swift中用 var 表示变量,用 let 表示常量。所以我们可以用下面的方式声明一个整形变量或整形常量

1
2
var a = 1 //变量
let b = 1 //常量

首先注意到,上面两句代码没有了;号(分号)。因为在swift中有“断句”机制,是可以省略分号的,但是如果在同一行写了几句代码,还是必须加上分号的,关于这个“断句”机制,下面会说几个注意点,现在让我们回到var 和 let 中来。
正如文章开头提到的swift有类型识别机制,所以在把1赋值给a、b的时候,它就明白了a、b是整形。同理的如果你是把1.2赋值给a,那么它就会变成了Double类型,注意这里的D是大写的,Int也是开头大写的。类似的还有

1
var str = "I am a string" //声明一个字符串,这个字符串是可以append的

这里有个问题,如果我没有赋值的话,那么这个var 是什么类型呢? 为了不要出现这种情况,你如果写下面的代码的话,就会报错

1
var a

那是不是一定要赋值呢?其实不是,你可以声明这个变量的类型就可以了,就像下面

1
2
var d:Int
var str:String

接下来说一下这个自动”断句“的注意点,
第一个,上面说到了同一行写了两句代码的话,必须加分号来区分。(最后一句不用加分号也可以)
第二个,在这个 =,>,<等两旁不能只有一边加空格,要么不加,要么两边都要加。

接下来说一说基本的输出,swift的输出还是挺方便的。不用想C语言那样记%d,%f等。请看下面的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//输出的基本方法就是print,以前版本还有println的,现在没了。。。
//直接输出一个字符串
print("Output a string") // 输出 Output a string ,这种输出后会换行
var Tom = "Tom"
var age = 10
var height = 1.6
//输出一个变量
print(Tom) // 输出 Tom , 这种输出也会换行
//在字符串里面加上变量后输出,关键字 \()
print("My name is \(Tom)") // 输出 My name is Tom , 这种输出也会换行
//输出几个变量
print(Tom,age,height) // 输出 Tom 10 1.6 , 这种输出也会换行
//加强的输出几个变量,利用separator: 和 terminator: ,二者都是可选的
print(Tom,age,height,separator:"-",terminator:"End\r") //输出 Tom-10-1.6End

这里有个注意点,当你用了terminator:后,换行不见了,如果要换行,自行添加\n或\r.

swift不带输入,所以要从控制台输入数据的话,得借用C语言,然后桥接一下。既然用到了C语言,那么就没那么方便了,用scanf的话,针对不同的数据类型,得写不同的函数。不知道有没其他更好的方法。关于这个输入的,我再开一篇博客写吧。见点击打开链接