一:元组

格式   

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

说明: 

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

例子;

import Foundation

/*
A是元组变量,()里面放着 整形 和字符串 元组类型为 整形和字符串 组成
*/ var A = (,"swift”)//元组变量A 由 整形和字符串 组成
println(A)

运行结果

(, swift)
mport Foundation

var B =
/*
定义一个元组,元组变量为C , ()里面放 整形变量B 和字符串。 元组类型有 整形 和 字符串组成
*/ var C = (B,"Swift") //元组变量B 由 整形和字符串组成
println(C)

运行结果

(, Swift)

元祖访问方式

1:匿名元组变量来访问

说明:

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

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

例子(1.1)

import Foundation

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

/*

1: A 是元组变量,由整形和字符串组成
2:(B,C)是一个匿名元组变量
3:元组变量A 所对应的值,一一对应赋值给匿名变量。即B =1 C = "Swift" 注意点:
定义的匿名元组变量个数必须和定义好的元组变量值的个数相同 */ var (B,C) = A
println("B=\(B),C=\(C)")

运行结果

B=,C=Swift

例子 (1.2)

import Foundation

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

/*

1: A 是元组变量,由整形和字符串组成
2:(_,C)是一个匿名元组变量,其中x下划线(_)代表省略变量
3:元组变量A 所对应的值,一一对应赋值给匿名变量。即 B="Swfit" 注意点:
定义的匿名元组变量个数必须和定义好的元组变量值的个数相同 */ var (_,B) = A
println("B=\(B)")

运行结果:

B=Swift

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

import Foundation

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

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

运行结果

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 =  ""
var value = strA.toInt() // toInt 函数是把字符串 转换为整形 println("value=\(value)") var strB = "12A"
var value1 = strB.toInt() //toInt 函数是把字符串 转换为整形 其中转换失败值为nil println("value1=\(value1)")

运行结果

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

其中 B 为 Int? (可选值) 可以包含整形值和nil
var  A:Int =
var A:Int? = 不同点:
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=

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

import Foundation

var  A = 

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

运行结果

B=1.0 C=1.0

条件语句用法 (if )

第一种方法

if 布尔值  {}  

 注意点 

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

例子

第一种方法(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? = //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=
B=nil

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

import Foundation

//--------------- if let  可选值不为nil
var A:Int? = 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=
D=nil

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

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

												

Swift入门篇-基本类型(3)的更多相关文章

  1. Swift入门篇-基本类型(2)

    现在我也在学习Swift语言,常常去逛很多苹果社区和论坛,看到了圈子很多奇怪的现象,发现很多人都赶忙去翻译 Swift书籍 和 发布Swift的视频 .他们这种对新知识的探索精神我本人是很佩服的.但是 ...

  2. Swift入门篇-基本类型(1)

    博主语文一直都不好(如有什么错别字,请您在下评论)望您谅解,没有上过什么学的 今天遇到了一个很烦的事情是,早上10点钟打开电脑,一直都进入系统(我的系统  mac OS X Yosemite 10.1 ...

  3. Swift入门篇-循环语句

    今天早上一起来所有新闻都是报道荷兰5-1战胜西班牙,我一看没有搞错吧,顿时想都如果中国队vs荷兰队也不至于会输的怎么惨吧,难道是荷兰队开挂了,于是我看了一下昨天比赛的视频直播,还真是新闻报道的那样,顿 ...

  4. Swift入门篇-字符串和字符

    今天主要是介绍一下字符串的用法 ,字符串的语法和object-c语法不太一样,但是思想是一样,就是写法不太一样.如果您对.net和java语法比较熟悉的话,那您几乎没有深压力.如果您对swift 基本 ...

  5. Swift入门篇-闭包和函数

    今天主要是给大家分享的是 swift中闭包的用法,我个人觉得闭包就是函数的简写方法,如果您函数不是很熟悉请查阅 swift入门篇-函数 1:函数类型 函数类型 var 变量 :(类型)->返回值 ...

  6. Swift入门篇-Hello World

    提示:如果您使用手机和平板电脑看到这篇文章,您请在WIFI的环境下阅读,里面有很多图片, 会浪费很多流量. 博主语文一直都不好(如有什么错别字,请您在下评论)望您谅解,没有上过什么学的 最近这2天主要 ...

  7. Swift入门篇-swift简介

    潜水博客园很多年,闲来无事,聊一下自己的经历,语文不好(如有什么错别字,请您在下评论)望您谅解,没有上过什么学的 在前期 ios入门篇 -hello Word(1) 文章中介绍我这半年准备写一些ios ...

  8. Swift入门篇-结构体

    前面主要是介绍swift语言中基本类型的用法,今天给大家介绍的是swift的结构体的用法,swift中结构体的用法和其他语言的用法,还有不太一样,不过您多敲几遍,就可以理解结构体,结构体在ios开发中 ...

  9. swift入门篇-函数

    今天给大家介绍 swift函数,swift函数和c#,js的写法大致一直,但是与object-c写法有很大不同点.废话不多说,直接开始了. 1:函数  --常量参数 func 函数名( 参数变量:类型 ...

随机推荐

  1. 线程学习笔记 等待句柄和线程池(摘自https://blog.gkarch.com/threading/part2.html#manualresetevent)

    //如果你的应用有很多线程,这些线程大部分时间都在阻塞,那么可以通过调用ThreadPool.RegisterWaitForSingleObject来减少资源消耗.这个方法接受一个委托,它会在向等待句 ...

  2. jquery load 加载改造,只加载body

    背景: 项目中大量用到了jquery和easyui组件,原生load经常出现主页面异常,原因是组件被重复初始化.也考虑过用iframe,但是在实际项目中的效果,最终取消了iframe方案,也尝试了其他 ...

  3. 【堆】【kd-tree】bzoj2626 JZPFAR

    用堆记录答案.看看当前点是否比堆顶更优. #include<cstdio> #include<queue> #include<cstring> #include&l ...

  4. iOS 设置navigationBar背景

    - (void)viewWillAppear:(BOOL)animated {    [superviewWillAppear:animated];    [self.navigationContro ...

  5. I Hate It(hdu1754)(线段树区间最大值)

    I Hate It hdu1754 Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  6. PHP如何连接Access数据库

    PHP代码: <?php $connstr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" .realpath(" ...

  7. Element should have been select but was input

    Element should have been select but was input-----看起来像下拉框,但实际不是下拉框的元素内容操作方法如下两名,先点击这个input,再单点要选择的值, ...

  8. hdu 5748(求解最长上升子序列的两种O(nlogn)姿势)

    Bellovin Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accepte ...

  9. Google Chrome: Make the Bookmarks Bar Display as Icons Only

    By reducing your bookmarks to show only the icons, you can access more of them from the Bookmarks ba ...

  10. 省市区县镇级联数据JS版

    前言:网站开发经常会涉及到报名,报名通常就会有地区级联的要求.如下所示.做这个功能就必须要有数据支撑.昨天努力了一天,从网上鼓捣了一份数据.分享下.纯技术性分享,非盈利的.如果有侵权的地方请知会,马上 ...