Swift 学习笔记 [1] 类型 值 集合 函数 闭包
2017-01-11 17:56
295 查看
Swift 已经出了第三个大版本了,重大改动应该比较少了,开始学习此语言,学习过程中发现 swift 和 objective-c 是完全两个不同的东西,不要小看了这门新语言。Swift 刚出来的时候标榜简单易学易开发,又有Playground一众利器帮忙宣传,很多人表示iOS 的学习成本降低了, 从学习的过程中看,是降低了一些(和Objective-C相比)。
Swift 作为强类型语言,体现出了弱类型语言的一些特性,参考了其他优秀的语言,本质上还是高级语言。简化的内容到放到了底层,是方便了开发,如果出了一些疑难的问题,还是要深入到底层去。
这里只放了一些我觉得和其他语言不一样,以及我想加深的内容。
var names : [String]
var nums : [Int]
集合
字典
}
除函数第一个参数外,其他的形参都分配隐式外部形参名,默认和内部形参名一致
外部形参名 内部形参名 : 形参类型
如果要省略,则使用 ‘_’ 即可
inout 内部新参名 : 形参类型, 表示值可被更改
(Int, String)-> String ,表示形参为 Int, String, 返回值为 String
有了函数类型,就可以直接把函数赋值给对应函数类型的指针, 命令模式也是依此特性来的
可执行语句
}
作为函数参数传入的闭包可脱离函数独立使用,这种现象较
如 func collectFn (@noescape fn : (Int) -> Int) { }
这种情况下闭包只能在函数内部使用
闭包是
Swift 作为强类型语言,体现出了弱类型语言的一些特性,参考了其他优秀的语言,本质上还是高级语言。简化的内容到放到了底层,是方便了开发,如果出了一些疑难的问题,还是要深入到底层去。
这里只放了一些我觉得和其他语言不一样,以及我想加深的内容。
仅仅做个学习补充,如果发现有的东西你完全没概念,就该去查看官方文档。
类型
元祖的定义 换括号把多个值组合成一个复合值
可选类型已有类型后跟着? 如 Int? 表示 可接受‘Int‘ 和 ‘值缺失(nil)’ 两种情况
nil定义为值缺失
?var str : string? = “hello” var s : string = str! !为强制解析, 需要做一个分支以避免运行时错误
可选绑定var str : string!= “hello” 则表示可以直接用,不需要用! 强制解析,但是还是会导致运行时错误
值
类型别名typealias newInt = Int
String是一个结构体,因此是值类型
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
有了函数类型,就可以直接把函数赋值给对应函数类型的指针, 命令模式也是依此特性来的
函数重载, 同名函数 形参列表和返回值类型不同
闭包
{(形参列表) -> 返回值类型 in可执行语句
}
作为函数参数传入的闭包可脱离函数独立使用,这种现象较
escape
如 func collectFn (@noescape fn : (Int) -> Int) { }
这种情况下闭包只能在函数内部使用
闭包是
引用类型
自动闭包@autoclosure 暂时不大了解用法,记着有这么个概念
相关文章推荐
- iOS学习笔记42-Swift(二)函数和闭包
- Swift学习笔记 - 教程学习三 集合类型 (Collection Types)
- swift学习笔记(4)-集合类型
- iOS学习笔记42-Swift(二)函数和闭包
- Swift 3.0 学习笔记-3-集合类型
- Swift学习笔记-函数和闭包(2)
- Swift学习笔记-函数和闭包(1)
- 学校学习ios教程笔记,第六节swift中的函数以及闭包
- Swift学习笔记 -- 函数和闭包
- Swift中内置的集合类型学习笔记
- swift swift学习笔记--函数和闭包
- swift学习笔记之函数形参,返回值以及函数类型
- Swift学习笔记 - 函数与闭包
- Swift4学习笔记4——集合类型
- Swift学习笔记4——集合类型
- Swift学习笔记(二)字符串和集合类型操作
- Swift学习笔记 - 函数与闭包
- swift学习笔记2——函数、闭包
- iOS学习笔记42-Swift(二)函数和闭包
- Guava学习笔记:Guava新增集合类型-Bimap