Swift 初级学习
废话少说,直接走起
1. 类型的声明
let // 常量
var //变量
1)常量声明的时候需要直接赋值, 并且一旦赋值不可更改
let number = 1
let score // 报错,常量声明需要直接赋值
number = 2 // 编译器报错,不能再次赋值
2)变量声明
变量可以先声明再赋值
申明的时候必须要制定变量的数据类型
var name: String // 声明一个String类型的变量
name = “张三” // 给name 赋值为 "张三"
声明并赋值
var count = 10
count += 1 // count 值变为11 注意在Swift 3.0中 ++ / -- 被弃用,不能直接使用
多种同类型的变量申明, 变量之间用 ‘,’分隔, 后面跟数据类型
var a, b, c: Int
2. 基本数据类型
Int 整型变量
Float 浮点类型
Double 高精度浮点类型
Bool 布尔类型 // true or false
Character 字符类型
申明一个整型变量
var number = 10 // Int 型变量
let height = 100.0 // Double 类型常量
运算
number = number + height // 编译器报错,Int 和Double 之间不能进行运算
number = number + Int(heihgt) // 先把height 转换成Int 后再与number做运算,编译正常
显示
let count = 1.23e10
let distance = 1_000_000 // 整型常量中可以用‘_’ 分隔
类型转换
let f = 12.3456789
let s = "\(f)" // s 是 "12.3456789"
保留小数点位数
let s = String(format: “%.2f”, f) // "12.35"
不同进制转换
let number = 255
let s = String(format: "%x", number) // ff
不足位前补0
let i = 255
let s = String(format: "%06x", i) // 000ff
String 类型操作
let firstName = "jack"
let lastName = "brown"
let name = firstName + lastName // jack brown
判断字符串是否相等用 "=="
if firstName == lastName {
print("true")
}else {
print("false")
}
输出结果 // false
判断字符串指向同一个对象
if firstName === lastName {
print("equal distance")
}else {
print("not euqual")
}
输出结果 //not euqual
// 判断字符串是否为空
if firstName.isEmpty {
print("empty string")
}
// 遍历字符串中的字符
//获取字符串中字符的个数
let count = string.characters.count
3. optionals可选的类型
You useoptionalsin situations where a value may be absent //当一个值可能是空的情况时使用optionals 意思是 这个值存在等于某一个值或者是这就不是一个值
var number:Int? ; //If you define an optional variable without providing a default value, the variable is automatically set tonilfor you:
// 当你声明一个变量为可选类型并且没有提供一个默认的初始值,那么变量会自动设置为nil
// swift 中的nil 和oc 中的nil 不一样,swift 中的nil 表示变量是一个缺省值
varconverNumber:Int? ;
letstringValue ="StringValue";
ifletresult = stringValue.toInt() {
println("转换成功") ;
}else{
println("转换失败") ;
}
4. 运算符operators
+ - * / ++ - - % ?:
例外:
%允许运算浮点数12.0/ 5 == 2 .0
1.. < 3 // 1 2
1… 3 // 1 2 3
a= (bxsome multiplier) +remainder
8%2.5// equals 0.5 2.5*3 + 0.5
-9%4// equals -1 (4*-2 ) - 1
5.方法
functestConcat(v1:String, v2:String) ->String{
return"\(v1) and\(v2)"
}
//参数的名字v1类型String参数名字v2类型String andNumber类型Int返回值类型是String
functestFunction(v1:String, andValue v2:String,andNumber number:Int) ->String{
return"\(v1) and\(v2) and\(number)";
}
funcgetFuncPointer() -> (Int->Int){
funcaddOne(num:Int) ->Int{
returnnum +1;
}
returnaddOne;
}