Swift基础语法(一)
1.常量&变量
使用var关键字定义变量,可以修改
使用let关键字定义常量,不可修改
提示:在Swift开发中,通常先定义常量let,只有必须要修改的时候,才定义成var,这样会更安全。
2.类型转换
Swift是一个对类型要求及其严格的语言,任何数据类型之间,都不能隐式转换。如果要在不同的类型之间进行计算,必须转换格式
解决方案一:强制转换
提示:Swift在上面定义i, j常量的时候自动推断了类型,Swift中默认的整数格式是Int(long 64位),默认的小数格式是Double(而OC中默认的小数格式是CGFloat)。
解决方案二:定义的时候指明类型
3.分支语句
在C语言中,if有一个特点,“非零即真”。但是在Swift中,没有这个概念,在分支语句中,必须准确地指明条件的真假。
Swift中的条件语句有两个特点:
1>条件不需要括号
2>必须要有 {}
4. 循环
循环的主要用法有以下四种:
5.字符串
Swift中默认的字符串类型为String,是一个结构体,所以它的效率更高
import UIKit
var str = "Hello World"
// 快速遍历字符串
for c in str {
println(c)
}
// 字符串之间拼接
var str1 = str + ",你好"
let i = 100
let view = UIView()
view.backgroundColor = UIColor.redColor()
// 变量拼接进字符串
println(str1 + "(i) aaa (view.backgroundColor)")
//字符串格式化
let str2 = String(format: "%02d:%02d:%02d", arguments: [1, 5, 10])
// 在Swift中,如果字符串要结合range一起使用,建议先转成NSString
// 因为 swift 的字符串和range一起使用很蛋疼
let myString: NSString = "hello"
myString.substringWithRange(NSMakeRange(1, 4))
字符串的快速遍历
字符串拼接
6.数组
import UIKit
// 定义不可变数组
let array1 = ["zhangsan", "lisi"]
// 遍历数组
for a in array1 {
println(a)
}
// 不能向不可变数组追加元素
//array1.append("abc")
// 可变数组
var array2 = ["aaa", "bbb"];
array2.append("ccc")
// 如果数据里面类型不一致,那么这个数组类型为NSObject
var array3 = ["zzz", 123, "aaa"];
// 定义一个数组,没有初始化
var array4: [String]
// 初始化数组
array4 = [String]()
// 添加元素
array4.append("hello")
array4.append("world")
// 数组容量
println(array4.capacity)
// keepCapacity表示是否保持容量,如果为true当再次追加元素的时候,会在原有容量的基础上乘以2,如果是false,则是当前容量*2
array4.removeAll(keepCapacity: true)
for i in 0...5 {
array4.append("(i)")
println("(array4): (array4.capacity)")
}
7.字典
常见的字典使用如下:
import UIKit
// 定义字典
let dict = ["name": "alin", "title": "boss", "age": 20]
// 遍历字典
for (v, k) in dict {
println("(v)--(k)")
}
// 定义可变字典并且实例化
var dict1 = [String: NSObject]()
// 设置内容
dict1["name"] = "laolin"
dict1["age"] = 88
//再次设置会覆盖
dict1["name"] = "abc"
// 删除
dict1.removeValueForKey("age")
//合并字典
var dict2 = ["title": "boss"]
for (k, v) in dict2 {
dict1.updateValue(v, forKey: k)
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。