代码改变世界

Swift入门篇-基本类型(3)

2014-06-09 19:39  甘超波  阅读(5953)  评论(4编辑  收藏  举报

 

 

一:元组

格式   

变量或常量关键字  元组变量 = ( 变量,变量, …)

说明: 

1: 元组变量还是一个变量,只不过表现方式和其他变量不一样
2:()括号里面可以放入N个变量组成

例子;

import Foundation

/*
A是元组变量,()里面放着 整形 和字符串

元组类型为 整形和字符串 组成
*/

var  A = (1,"swift”)//元组变量A 由 整形和字符串 组成
println(A)

运行结果

(1, swift)

 

mport Foundation

var B = 12  
/*
定义一个元组,元组变量为C , ()里面放 整形变量B 和字符串。

元组类型有 整形 和 字符串组成
*/

var C = (B,"Swift") //元组变量B  由 整形和字符串组成
println(C)

运行结果

(12, Swift)

 

元祖访问方式

1:匿名元组变量来访问

说明:

 1.1 匿名元组变量和定义好的元组变量参数必须一致

 1.2 需要元组中的个别值,可以使用(_)来忽略不需要的值

例子(1.1)

import Foundation


var A = (1,"Swift") //元组变量A  由 整形和字符串组成

/*

1: A 是元组变量,由整形和字符串组成
2:(B,C)是一个匿名元组变量
3:元组变量A 所对应的值,一一对应赋值给匿名变量。即B =1  C = "Swift"

注意点:
定义的匿名元组变量个数必须和定义好的元组变量值的个数相同

*/

var (B,C) = A
println("B=\(B),C=\(C)")

运行结果

B=1,C=Swift

例子 (1.2)

import Foundation


var A = (1,"Swift") //元组变量A  由 整形和字符串组成

/*

1: A 是元组变量,由整形和字符串组成
2:(_,C)是一个匿名元组变量,其中x下划线(_)代表省略变量
3:元组变量A 所对应的值,一一对应赋值给匿名变量。即 B="Swfit"

注意点:
定义的匿名元组变量个数必须和定义好的元组变量值的个数相同

*/

var (_,B) = A
println("B=\(B)")

运行结果:

B=Swift

 

2:通过索引来访问 (与数组访问相似)

import Foundation


var A = (1,"Swift") //元组变量A  由 整形和字符串组成

println(A.0)// A.0 指的是访问 元组变量中的第一个元素 即 1
println(A.1)// A.1 指的是访问 元祖变量中的第二个元素  即 ”Swift"

运行结果

1
Swift

 

3:通过key来访问

注意点:

 前提是  

1: 元组变量中变量必须因为字典来访问

2:访问方式即: 元组变量.key

import Foundation

/*
 通过key 来访问元组变量 注意点
1:对应的变量,必须为字典  key: value
2: 访问的时候,元组变量.key
*/

var  A = (frist:"Hello",second:"swift")

println( A.frist )
println( A.second )

运行结果

Hello
swift

 

二:类型转换

 1:字符串转换为整形 (toInt())

import Foundation

//字符串转换为Int 类型

var  strA =  "123"
var  value =  strA.toInt() // toInt 函数是把字符串 转换为整形

println("value=\(value)")



var strB = "12A"
var value1 = strB.toInt() //toInt 函数是把字符串 转换为整形 其中转换失败值为nil

println("value1=\(value1)")

运行结果

value=123
value1=nil

 

 

var  B =  A.toInt() 这个函数 字符串转换为整形 看一下图

其中 B 为 Int? (可选值) 可以包含整形值和nil

var  A:Int = 10
var  A:Int? = 10

不同点:
var  A:Int? = 10 不仅可以包含整形值,还可以包含nil
var  A:Int = 10 只能包含整形值

2:浮点类型转换整形 (Int())

import Foundation

var  A = 1.10

 var B = Int(A) //把浮点类型强制转换为整形

println("B=\(B)")

运行结果

B=1

3:整形转换为浮点类型 (Double())

import Foundation

var  A = 1

 var B = Double(A) //整形转换为浮点类型
var C = Float(A)

println("B=\(B) C=\(C)")

运行结果

B=1.0 C=1.0

 

条件语句用法 (if )

 

第一种方法

if
布尔值 {} 注意点 1: 布尔值等于true 就执行if 里面的方法 2:{} 不能省略 否则会报错 第二种方法
if 可选值 {} 注意点: 1: 可选值不等于nil 就执行if 里面的方法 2: {} 不能省略 否则会报错
第三种方法
if let 常量值 = 可选值 {} 注意点: 1if let 常量值 = 可选值 是把 可选值 赋给 常量值,如果常量值不为nil 就执行if 里面的方法 2: {} 不能省略 否则会报错

例子

第一种方法(if +布尔值)

import Foundation


var A = true

// if 后面 跟bool值 为true的时候执行 if后面的{}的方法
if A {
    println("A=\(A)")
}
else{
    println("A")
}

运行结果

A=true

第二种方法  (if +可选值)

import Foundation



// -----------------------------可选值不为nil ----------------
var  A:Int? = 10

//A 的类型int?(可选类型), 如果A不为nil 就执行 if 中{} 里面的方法
if A {
    println("A=\(A)")
}
else{
    println("A=nil")
}


//---------------------------可选择为nil---------------

var B:Int? //B 为可选类型,不赋值 默认为nil  如果B 为nil就不执行 if中{} 的放法

if B {
    println("B=\(B)")
}
else {
     println("B=nil")
}

运行结果

A=10
B=nil

第三中方法 (if  let 常量名 = 可选值)

 

 

import Foundation



//--------------- if let  可选值不为nil
var  A:Int? = 10

if let B = A{ //解释 A 的值赋给 B 如果B 不为nil  执行 if {} 中方法
    
    println("B=\(B)")
}
else{
     println("B=nil")
}


//--------------- if let  可选值为nil

var  C :Int? //C 是可选值 ,不赋值 默认为nil

if let D = C { //解释 C 的值赋给 D 如果D 为nil  不执行 if {} 中方法
        println("D=\(D)")
}
else{
    println("D=nil")
}

运行结果

B=10
D=nil

 

 

我回陆续把我学习到swift语言的知识写出来形成一个系列。由于是新语言,个人理解难免有不足,欢迎给我提出意见。也可以加我QQ 1436051108一起讨论,如果您有什么问题,也可以直接在QQ留言发给我,我看到之后第一时间回复您

 最后总结一下。送上一直思维导图,作为文章的结束