一:元组

格式   

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

说明: 

: 元组变量还是一个变量,只不过表现方式和其他变量不一样
:()括号里面可以放入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. RVM 实用指南

    rvm是一个命令行工具,可以提供一个便捷的多版本ruby环境的管理和切换. https://rvm.io/ 如果你打算学习ruby/rails, rvm是必不可少的工具之一. 这里所有的命令都是再用户 ...

  2. 递推 N矩形问题

    Description 给你一个高为n ,宽为m列的网格,计算出这个网格中有多少个矩形,下图为高为2,宽为4的网格. Input 第一行输入一个t, 表示有t组数据,然后每行输入n,m,分别表示网格的 ...

  3. 解决Android中多次点击启动多个相同界面的问题

    在Android开发过程中我们经常会碰到这样的问题,当用户点击一个View启动一个新的Activity的时候,如果快速地多次点击就会启动多个相同的界面.虽然说很少会有用户这么玩自己的手机,但是一旦出现 ...

  4. C++矢量图形库系列(1)——矢量图形库乱谈(转)

    转自:http://blog.sina.com.cn/s/blog_4265e1760100lg03.html 本系列篇章的主要内容是讲解矢量图形库的编译.开发和使用.并不对他们周边的内容做过多的描述 ...

  5. 关于collapsed margin(外边距合并)

    这是前面写postion定位时写到最后面的例子的时候发现的一个问题,于是专门写一篇随笔来解释记录一下,毕竟两个知识点同时写在一篇文章里面有点混乱的感觉.. 上篇随笔position定位遇到的问题在这里 ...

  6. UART的CTS与RTS

    在RS232中本来CTS 与RTS 有明确的意义,但自从贺氏(HAYES) 推出了聪明猫(SmartModem)后就有点混淆了.在RS232中RTS 与CTS 是用来半双工模式下的方向切换:HAYES ...

  7. springmvc之interceptor(拦截器)

    1.自定义MyInterceptor impletments HandlerInterceptor public class MyInterceptor implements HandlerInter ...

  8. iOS开发零基础--Swift基础篇--常量&变量的定义

    什么是常量和变量 在Swift中规定:在定义一个标识符时必须明确说明该标识符是一个常量还是变量 使用let来定义常量,定义之后不可以修改 使用var来定义变量,定义之后可以修改 常量和变量的使用注意: ...

  9. SQLSERVER迁移工具 SSMA5.3发布

    SQLSERVER迁移工具 SSMA5.3发布 官方论坛/博客: SQL Server Migration Assistant (SSMA) Team's Blog Welcome to SQL Se ...

  10. 了解linux下RAID(磁盘阵列)创建和管理

    现在的操作系统,不论是windows 还是linux都具有raid的功能,RAID 分为硬件 RAID 和软件 RAID, 硬件 RAID 是通过 RAID 卡来实现的,软件RAID是通过软件实现的, ...