文档章节

Swift入门篇-基本类型

法斗斗
 法斗斗
发布于 2016/03/02 16:46
字数 1380
阅读 20
收藏 1
点赞 1
评论 0

Swift入门篇-基本类型

一:元组

格式   


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


说明: 


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  常量值  = 可选值 {}


注意点:


1:if 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

 

  

 

本文转载自:

共有 人打赏支持
法斗斗
粉丝 20
博文 367
码字总数 17774
作品 0
杨浦
程序员
使用Swift开发React Native组件(一)

使用Swift开发React Native组件(一) RN已经在圈子里流行很长一段时间了,网上相关的文章和介绍也很多,笔者很早之前也接触过一段时间,但也仅仅只是浅尝即止,这次正好有时间,所以准备深度...

黑血沸腾
2017/05/27
0
0
学习苹果Swift语言的一些在线资源(2014年9月10日更新)

Swift是苹果为OS X和iOS平台引入的一种新的程序设计语言,这种程序设计语言已经激发了开发者社区的大量关注。仅仅几天之内,在Stack Overflow网站上提出的关于Swift的问题已经有500多个,在G...

tyou
2015/08/11
0
0
慕课分享:盘点2014年热门免费开发课程

这篇文章来自慕课网团队的分享,文章从前端开发、后端开发、移动开发和OS 四个方面,分享了2014年度的热门免费课程。 前端开发 《HTML+CSS基础课程》 这门课程从最基本的概念开始讲起,步步深...

2014/12/30
0
0
【掘金小报】第十一期 Facebook 是如何加速应用的?

掘金日报主打分享优质深度技术内容,技术内容分:前端、后端、Android、iOS、产品设计、工具资源和一些有趣的东西。 与标题相关的文章在iOS分类下:Facebook iOS 应用是如何加速图片显示的?...

膜法小编
2017/05/10
0
0
Swift4.0基础知识回顾

简单介绍一下Swift Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序,Swift语言让应用开发更简单、更快、更稳定,确保最终应用有着更好的质量更多了解Swift可以去《The...

博行天下
2017/12/06
0
0
我看完227篇文章,总结出一份Flutter入门教程

2018年6月21日,Google在GTMC大会上发布了 Flutter preview 1。这标志着 Flutter 发展已经进入到一个新阶段,即将迎来 1.0 的稳定版本。 本文致力于整理Flutter的入门的文章。作为自己学习 ...

掘金官方
07/04
0
0
空函数有参函数调用参数的注意事项Swift 1.1语言

空函数有参函数调用参数的注意事项Swift 1.1语言 7.2.3 空函数 空函数有参函数调用参数的注意事项Swift 1.1语言空函数是函数中最简单的形式。在空函数中,函数只有一个空壳,里面是没有任何语...

大学霸
2015/01/16
0
0
Swift 教程:快速入门

更新于8/5/14:下面文章是基于 Xcode6-beta 5环境。 Swift是Apple公司今年WWDC发布的新语言。为了这门新语言,Apple发布了Swift参考指南(Swift reference guide)这本书,我强烈推荐这本书。...

totogo2010
2014/10/22
0
0
WorkFlow4.0--入门到精通系列-专题索引

开篇 首先、非常感谢大家的支持和厚爱,才有了这个系列,WF4.0也是微软比较主推的技术之一,工作流未来必火,是未来企业信息化的发展方向和道路,所以对工 作流掌握,对我们来说,也就是必须...

何戈洲
2011/06/16
0
0
[更新]Apple Swift学习资料汇总

今年的苹果开发者大会(WWDC)上,公布了ios8的几个新特性,其中包括引入了群聊功能,支持第三方输入法等功能。但更让开发者感兴趣的莫过于Swift语言的发布了。 Swift是apple自创的一门转为coc...

geeklxl
2014/06/05
4.7K
8

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CVE-2013-0077 堆溢出分析

找了很久才发现这个环境比较容易搭建分析... 环境: 系统---Win XP SP3 漏洞程序:QQPlayer 3.7.892.400 出错DLL:quartz.dll 6.5.2600.5512 调试工具:x32db+gflag.exe 过程: 首先gflag设置...

Explorer0
9分钟前
1
0
python上传文件

//注意 <form action="/login/" method="post" enctype="multipart/form-data"> f=request.FILES.get('fafa') ff=open(f.name,mode='wb') for i in f.chunks(): ff.write(i) ff.close()......

南桥北木
21分钟前
0
0
CISCO VPN Client Reason 442 WIN8/10错误解决方案

http://jdkleo.iteye.com/blog/2163493 引用 http://my.oschina.net/cloudcoder/blog/220391?p={{currentPage 1}} 在使用cisco VPN 客户端登录时,产生Reason 442:Failedto enable Virtual......

chenfj_fer
24分钟前
0
0
信号量有没有容量限制?

之前一直误以为信号量初始化的时候那个初始化的值是信号量的“容量”,昨天同事指出了我的错误,最初我是不相信的,经过以下代码实践,证明了我的错误: Java版: import java.util.concurr...

锟斤拷烫烫烫
28分钟前
0
0
【RocketMQ】Message存储笔记

概述 消息中间件存储分为三种,一是保存在内存中,速度快但会因为系统宕机等因素造成消息丢失;二是保存在内存中,同时定时将消息写入DB中,好处是持久化消息,如何读写DB是MQ的瓶颈;三是内...

SaintTinyBoy
39分钟前
0
0
Android应用Context详解及源码解析

Android应用Context详解及源码解析 本文定位:优质文章收集 本文转载 1 背景 今天突然想起之前在上家公司(做TV与BOX盒子)时有好几个人问过我关于Android的Context到底是啥的问题,所以就马...

lichuangnk
今天
0
0
PostgreSQL的昨天今天和明天

PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS), 也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统。有些特性甚至连商业数据库都不具备。 这个起源于伯克利(...

闻术苑
今天
1
0
Mysql对自增主键ID进行重新排序

1,删除原有主键: ALTER TABLE `table_name` DROP `id`; 2,添加新主键字段: ALTER TABLE `table_name` ADD `id` MEDIUMINT( 8 ) NOT NULL FIRST; 3,设置新主键: ALTER TABLE `table_nam......

niithub
今天
0
0
福利篇:免费csdn vip账号分享

分享一个发布免费csdn vip账号的网站:啰嗦vip www.lostvip.com , 各种软件开发类的视频教程:慕课网、动脑学院、黑马各大培训机构VIP视频教程,非常不错!

在水一方发盐人
今天
1
0
Nginx+Tomcat搭建高性能负载均衡集群

一、 工具   nginx-1.8.0   apache-tomcat-6.0.33 二、 目标   实现高性能负载均衡的Tomcat集群:    三、 步骤   1、首先下载Nginx,要下载稳定版:      2、然后解压两个Tom...

码代码的小司机
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部