Swift 学习笔记(基本语法)

因为是本人学习 Swift 的笔记,是基于所掌握的其他语言来认识 Swift 的,所以并非详尽的 Swift ABC,也就显得凌乱不堪。
 
不会自动转型,强型转型的方式是 String(变量值), 括号不是括住类型

let 为常量, var 为变量, 类型的指定方式与  Scala 一样,如果不让它自动推断或无法推断时,这样指定类型


字符串中内联变量方式是用 \(变量名),中间还可以进行计算

Swift 用 “[]” 来创建数组或字典,并且最后一个元素后竟然可以有多余的逗号

创建空数组或字典

类型可以推断的话,能用”[]” 和 “[:]” 来创建空数组和字典,大概是前面已知类型的情况,如

或者如数组,字典类似

在Swift 的 let 和 Scala 的 val 都是动真格的,不光变量不能重新赋值,并且声明的集合内容也是不能变的, 下面是不能编译的
 
swift-syntax-0
 
Swift 的控制语句有  if, switch, for-in, for, while, repeat-while, 控制中圆括号可以省略,但大括号不能省,即使 if 后面只有一条语句也不行,因为省略圆括号与大括号会存在有冲突的,所以干脆大括号不让省

上面 if 中的  == 两边要么都要有空格,要么都没有空格,不能偏向任何一边
如 if number == 1  和 if number== 1 或 if number ==1 是错误的,后两种写法都会误判为闭包
如 if number== 1 被识别为错误

 

 

 
swift-syntax-1
 
if number ==1 被识别为错误
 
swift-syntax-2
 
看 1 后面被自动补充的 _=
Swift 的 Optional 类型要用 ”类型?” 来指定类型,并且声明一个 nil 值也必须用 “类型?" 的形式, 像

下面都不行

看下普通类型与 Optional 类型的不同
 
swift-syntax-3
 
Optional 才有 map 方法
let 可用在 if 语句中,不过后面的值必须是一个 Optional 类型

“??” 可为 Optional 提供 nil 时的默认值,如下代码

let 也可用在 switch..case 中,同时完成值的声明与比较,Swift 中的  case 分支默认是  break 的,和 VB 一样的, 相同的 case 可放在一行中

0..<4 操作产生了一个不包含上届的 Range, 所以它可以用在循环中

本文链接 https://yanbin.blog/swift-learning-basic-syntax/, 来自 隔叶黄莺 Yanbin Blog

[版权声明] Creative Commons License 本文采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments