Swift 语法
2016-07-02 08:40
417 查看
1. 常量和变量
使用 let 关键字声明常量(Constants)let maxnNum = 32
使用 var 关键字声明变量(Variables)
var index = 1
swift 是一种类型安全(type safety)的语言,如果变量被初始化为整数1,则这个变量的类型就是 int
语句的结尾并不需要添加分号
数据类型的关键字的首字母是大写的
1. 基本数据类型
数据类型 | 注意 | 声明示例 |
---|---|---|
Int | 另有 Int8, Int16 等 | |
Double, Float | Double 为64位数据,精确到小数点后15位;Float 为32位数据,精确到小数点后6位 | var red, green, bule : Double |
String | 用双引号括起来,不需要@符号 | var websitename : String |
Bool | 使用 true 或 false 表示,而不再是 oc 中的 yes 或 no |
1. 声明不同进制的整型
let decimalInt:Int = 17
let binaryInt:Int = 0b10001
let octalInt:Int = 0o21
let hexadecimalInt = 0x11
2. 声明科学计数法形式的浮点数
let a = 0.012
let b = 1.2e-2
3. 声明大数字
用下划线隔开let bignum_a = 100000000
let bignum_b = 100_000_000
let bignum_c = 1_0000_0000
4. 隐式类型转换
let num_a:Float = 1
let num_b:Int = 1.2
5. 强制类型转换
let a:Int = 3
let b:Double = 0.1415926
let pi:Double = Double(a) + b
6. 使用中文声明变量
支持任意 Unicode 类型的字符let 姓名 = “我的名字”
字符串拼接:
姓名 + “你好”
7. 定义布尔类型变量
花括号不可省略整型值不可以作为布尔值
let trueVal = true let falseVal = false if trueVal { println("true value") } else { println("false value") }
2. 高级数据类型
1. 元组 Tuples
新引进的类型将多个不同的值集合成一个数据,用逗号分隔,元组中各项可以是不同类型
显式声明使用以下形式:
(datatype, datatype, datatype)
用在函数返回值时可以返回一组值而不是单个值
let connectresult = ( 404, “Not Found" )
1. 使用变量名访问元组
let registrationResult = (true, "username", "sex") let ( isRegisterSuccess, nickname, gender ) = registrationResult isRegisterSuccess nickname gender
2. 使用点运算符访问元组
registrationResult.0 registrationResult.1 registrationResult.2
3. 在声明时为元组中的分量指定名称
let registrationResult = (isRegisterSuccess: ture, nickname: "username", gender: "sex") registrationResult.isRegisterSuccess registrationResult.nickname registrationResult.gender
4. 不完整的赋值,使用下划线忽略部分数值
let loginResult : ( Bool, String ) = (true, "username") let ( isRegisterSuccess, _) = loginResult if isRegisterSuccess { println("login success ! "); }
2. 可选值 Optionals
或者是一个值,或者没有值没有值时为nil(oc 中 nil 表示空指针,swift 中则更为广泛)
注意,没有被初始化的值不能被直接引用,而非随机值
1. 显式声明一个可选的 Int 值
var anOptionalVarible:Int?
此时,可选值的值为 nil
anOptionalVarible = 12
此时,可选值被初始化为12
2. 示例
let userInput = "18" var age = userInput.toInt() if age != nil { println("your age is \(age!)") } else { println("Invalidate userInput") }
toInt 方法返回一个可选值,所以 age 是一个可选值
如果用户输入的字符可以转换为数字,则用插值的方式打印出这个值,否则报错
把一个一定有值的可选型转换成相应类型的值,则在 age 后面加一个 “!” 号
强制类型转换不可以对可选型,而使用 “!” 号就可以了,因为开发者确定其有值,引用是安全的。
在可选型后面加 “!” 号叫做可选型的解包,在这里将一个 Int 型的可选型解包为整型
3. Optional Binding
将判断和解包结合在一起相关文章推荐
- Apple Swift学习教程
- 苹果与Siri的七年之痒:“宫斗”戏码不断上演
- 介绍 Fedora 上的 Swift
- 央视新闻报道XcodeGhost事件
- 原生JS仿苹果任务栏菜单,放大效果的菜单
- 编程界主流脚本编程语言的比较和选择
- 什么是Perl?编程语言Perl详细介绍
- 编程语言里的静态、动态、强类型、弱类型等概念介绍
- 编程趣事:当下流行编程语言的”讨厌”程度排行榜
- 一张图告诉你计算机编程语言的发展历史
- 程序员必看2008编程语言走势解盘
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift自定义iOS中的TabBarController并为其添加动画
- Swift编程中的泛型解析
- Swift中定义二维数组的方法及遍历方法示例
- 24种编程语言的Hello World程序
- 256种编程语言大汇总
- 编程语言JavaScript简介
- 简单分析Swift语言的一些基本特征