Swift控制流
本文简单的介绍swift一些基本语法的使用,在本文中不会做更深的剖析,只提及一些语法的简单的使用,快速学会编写swift程序。高手请绕路走嘿嘿
常量与变量:
swift中定义所有的变量使用var,定义所有的常量使用let。编译器会根据你声明的变量和常量自动识别你定义到底是哪一种数据类型。
var a = 10
var b = 5.20
let a1 = 10
let b1 = 5.20
let c1 = "string"
编译器能够自动识别a是一个整型变量,b是一个浮点型变量,a1是一个整形常量,b1是一个整型常量,c1是一个字符串常量
如果在定义变量过程中想指明变量类型的话格式为: let/var 变量名: 数据类型 = 数值
例:
let a: Int = 10
var str: String = "This is a string"
if语句:
1,swift的if语句跟OC的有点差别,在swift中,if后面的小括号能够省略,其实在if,while,for,switch语句后面的小括号都能够省略
2,还有在OC中当条件判断后只有一步操作的时候大括号可以省略:
if(isOrNot == YES)
{
NSLog(@"OK");
}省略为:
if(isOrNot ==YES)
NSLog(@"OK");
但是在swift中,大括号在什么时候都不能省略
3,此外,swift中条件语句只支持bool的判断,不支持非零即真.以下是错误的写法
let value = 10
if (value)
{}
switch语句:
switch语句在swift中和OC中写法都差不多,但是几方面的区别
1,在OC中如果有多个case的时候,每一个后面必须有break跳出判断,否则会穿透。但是swift是不会穿透的,所以在switch中break可以省略不写。如果swift想要贯穿的话可以在case后面加上添加"fallthrough"关键字
2,OC中如果在case中间定义局部变量必须写大括号确定作用域,在swift中可以不用写
3,OC中default的位置可以随便写。swift的default必须放在最后面,而且大部分情况下不能省略
4,swift的case支持多种模式: case 0,1,2:
switch num
{
case 0:
print("1")
case 1:
print("2")
let num1 = 10
default:
print("default")
}
for循环:
普通for循环:for var i = 0;i < 10;i ++{print(i)}
swift的for循环还可以这么写:for i in 0..<10{print(i)} 类似于for-in遍历
for i in 0...10{print(i)}
while循环:
while循环跟OC中while循环的写法基本一样。
do-while:
do-while循环在swift中是将do换成repeat。
var b:Int = 1
repeat{
print(b)
b++
}while b<10
三目运算符:
使用三目运算符能够省略掉很多if的判断。
let res = (num == 5) ? 5 : 10
可选类型:
可选类型,如果一个方法返回值带有?,例如方法:init?(string URLString: String)
let url = NSURL (string: "http://www.baidu.com")
以后看到一个方法返回值或是后面有?的话说明返回是一个可选类型
打印可选类型出来的结果会被一个optional包裹
使用!可以去除optional
let request = NSURLRequest(URL: url!)
if url2 != nil
{
let request2 = NSURLRequest(URL: url2!)
}
if let urlfinal = url
{
let finalRequest = NSURLRequest(URL: urlfinal)
}
OC语法迁移到swift上用起来其实大同小异,就是一些写法发生了变化。让我们语言编写起来显得更加严谨,swift是一门强语言,能够很好的避免由于我们编写习惯导致潜在的一些错误。
Swift控制流的更多相关文章
- Swift 控制流
Swift 1,顺序结构 2,分支结构 switch 中每一个case块完成后会自动终止switch语句, 不用手动终止 case 可有多值,如 case "A","a& ...
- Swift - 控制流/控制结构说明(if,switch,for,while)
1,if语句 1 2 3 4 5 if count >=3 { println("yes") }else{ println("no") } ...
- swift学习初步(三)--控制流操作
在上一篇博客里面,我谈到了swift里面的一些基本类型以及相关的操作,相信你看了之后一定会觉得其实swift也不难嘛.好吧,这篇博客里面要谈的一些高级操作,可能会让你有点头疼了. 好了,废话不多说了, ...
- swift:入门知识之控制流
1.swift语句中的控制流和其他语言大致相同,使用if和switch作为条件控制.使用 for-in.for.while.do-while作为循环. 2.区别之处:小括号不是必须的,但是主体的大括号 ...
- swift 简单语句 控制流语句
在 Swift 中.有两种类型的语句:简单语句和控制流语句.简单语句是最常见的.用于构造表达式和声明.控制流语句则用于控制程序运行的流程,Swift 中有三种类型的控制流语句:循环语句.分支语句和控制 ...
- The Swift Programming Language-官方教程精译Swift(6)控制流--Control Flow
Swift提供了类似C语言的流程控制结构,包括可以多次执行任务的for和while循环,基于特定条件选择执行不同代码分支的if和switch语句,还有控制流程跳转到其他代码的break和continu ...
- Swift 学习- 06 -- 控制流
// 控制流 // swift 提供了多种控制流结构,包括可以多次执行的 while 循环,基于特定条件选择执行不同分支的 if, guard 和 switch 语句,还有控制流程跳转到其它代码位置的 ...
- swift学习笔记之控制流
控制流: 1.if语句 let count = { print("yes") }else{ print("no") } 2.switch语句 (1)Swift中 ...
- ios swift 里面关于变量 常量 可选类型 控制流的一些心得
//swift 里面没有头文件和实现文件.只有一个.swift文件 //swift 里面没有main的概念,程序从main.swift开始执行 //swift 每一条执行语句可以不用分号结束,多条语句 ...
随机推荐
- vmware workstation11+centos7+lnmp一键安装包 环境搭建
vmware workstation11 1.下载:http://pan.baidu.com/s/1gecipOJ 2.安装:直接下一步. centos7 1.下载:网易镜像 http://mirro ...
- C# 事件和委托
相信大家在面试的时候会经常问到事件和委托的区别,为什么.net中需要事件和委托这样类似的问题吧,对于一些初学者来说可平时用的过程中也不知道为什么, 只知道这样用,而对于其中的实现机制不是很清楚, 所以 ...
- 调用Ajax返回500错误的解决方法
看代码: public ActionResult UserLogin(LogOnModel model) { #region 验证码验证 #endregion OperationResult resu ...
- PintJS – 轻量,并发的 GruntJS 运行器
PintJS 是一个小型.异步的 GruntJS 运行器,试图解决大规模构建流程中的一些问题. 典型的Gruntfile 会包括 jsHint,jasmine,LESS,handlebars, ugl ...
- 链表的实现(Java语言描述)
代码如下: public interface ListInterface<T> { public T getElem(int i); public boolean insertElem(i ...
- mysql主从复制replication的一些相关命令
主服务器上的相关命令:show master status; mysql> show master status\G . row *************************** Posi ...
- 安装、部署... Windows服务 .net程序 安装 命令
@echo offInstallutil.exe 程序目录 F:\test\TestWindows.exe 服务程序目录@sc start "服务名称"@sc config &qu ...
- 无废话WCF入门教程一[什么是WCF]
http://www.cnblogs.com/iamlilinfeng/archive/2012/09/25/2700049.html wcf技术交流,同学习共进步,欢迎加群: 群号:3981831 ...
- bootstrap学习笔记(6)
滚动监听 滚动监听有两种方式: (1)通过属性控制 向想要滚动监听的元素添加如下属性data-spy="scroll",然后添加data- ...
- u-boot中nandflash初始化流程分析(转)
u-boot中nandflash初始化流程分析(转) 原文地址http://zhuairlunjj.blog.163.com/blog/static/80050945201092011249136/ ...