Swift 初级学习

2016-09-30  本文已影响0人  fanguohui

废话少说,直接走起

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;

}


上一篇下一篇

猜你喜欢

热点阅读