Swift 已经出了第三个大版本了,重大改动应该比较少了,开始学习此语言,学习过程中发现 swift 和 objective-c 是完全两个不同的东西,不要小看了这门新语言。Swift 刚出来的时候标榜简单易学易开发,又有Playground一众利器帮忙宣传,很多人表示iOS 的学习成本降低了, 从学习的过程中看,是降低了一些(和Objective-C相比)。
Swift 作为强类型语言,体现出了弱类型语言的一些特性,参考了其他优秀的语言,本质上还是高级语言。简化的内容到放到了底层,是方便了开发,如果出了一些疑难的问题,还是要深入到底层去。
这里只放了一些我觉得和其他语言不一样,以及我想加深的内容。仅仅做个学习补充,如果发现有的东西你完全没概念,就该去查看官方文档
。
类型
元祖
的定义 换括号把多个值组合成一个复合值可选类型
已有类型后跟着? 如 Int? 表示 可接受‘Int‘ 和 ‘值缺失(nil)’ 两种情况nil
定义为值缺失?
var str : string? = “hello” var s : string = str! !为强制解析, 需要做一个分支以避免运行时错误可选绑定
var str : string!= “hello” 则表示可以直接用,不需要用! 强制解析,但是还是会导致运行时错误
值
类型别名
typealias newInt = IntString
是一个结构体,因此是值类型swift 赋值表达式
没有值,所以不支持连续赋值'??'
nil 合并运算符 a??b 如果a为nil 则返回b
集合
- var myArr :
Array
《String》
var names : [String]
var nums : [Int] - 集合
Set
- 字典
Dictionary
函数
- func 函数名(形参列表) [-> 返回值类型] {
} 外部形参名
:用于表示传入参数的意义
除函数第一个参数外,其他的形参都分配隐式外部形参名,默认和内部形参名一致
外部形参名 内部形参名 : 形参类型
如果要省略,则使用 ‘_’ 即可个数可变的形参
: 外部形参名 内部形参名 : 形参类型…
inout 内部新参名 : 形参类型, 表示值可被更改函数类型
(Int,String)-> String,表示形参为 Int,String,返回值为 String
有了函数类型,就可以直接把函数赋值给对应函数类型的指针, 命令模式也是依此特性来的函数重载
, 同名函数 形参列表和返回值类型不同
闭包
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。