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 每一条执行语句可以不用分号结束,多条语句 ...
随机推荐
- NGUI Atlas
打开 Atlas Maker:NGUI -> Open -> Atlas Maker 新建一个 "Icon Atlas" 生成3个东西:
- C#生成不重复的随机数(转)
我们在做能自动生成试卷的考试系统时,常常需要随机生成一组不重复随机数的题目,在.net Framework中提供了一个专门用来产生随机数的类System.Random. 对于随机数,大家都知道,计算机 ...
- .Net底层剖析目录章节
[.Net底层剖析]目录章节 1.[深入浅出.Net IL]1.一个For循环引发的IL 2.[.Net底层剖析]2.stfld指令-给对象的字段赋值 3.[.Net底层剖析]3.用IL来理解属性 作 ...
- 爬虫技术 -- 基础学习(四)HtmlParser基本认识
利用爬虫技术获取网页源代码后,针对网页抽取出它的特定文本内容,利用正则表达式和抽取工具,能够更好地抽取这些内容. 下面介绍一种抽取工具 -- HtmlParser HtmlParser是一个用来解析H ...
- 后端码农谈前端(CSS篇)第一课:CSS概述
一.从扮演浏览器开始 扮演浏览器是Head First图书中很有意义的一个环节.可作者忘记了告诉我们扮演浏览器的台本.我们从这里开始. 上图是webkit内核渲染html和css的流程图.从该图我们可 ...
- 关于4K Block Size的Device和 Aligned IO
背景:最近采购了一批新的服务器,底层的存储设备的默认physical sector size从原有的 512B 改为了 4K. 装完系统以后,在做数据库物理备份恢复时xtrabackup报了这么一个错 ...
- boi剖析 - 基于webpack的css sprites实现方案
本文是58到家前端工程化集成解决方案boi的博文系列之一.boi是基于webpack打造的一站式前端工程化解决方案,现已开源Github. 作为前端构建工具不可或缺的一个环节,自动生成css spri ...
- SQL 关于apply的两种形式cross apply 和 outer apply
SQL 关于apply的两种形式cross apply 和 outer apply 例子: CREATE TABLE [dbo].[Customers]( ) COLLATE Chinese_PRC_ ...
- css中px,em和rem的区别
css中px,em和rem的区别 今天,突然间发现一个特别有意思的问题,就是无意间看到一个网站中的em并不是16px,下面展开了对于px和em以及rem的探究. 首先,px是绝对长度单位,是相对于显示 ...
- Studio for WPF:使用 C1TileView 创建图片库
C1TileView 提供了数据交互浏览的功能.允许我们设置最大化和最小化浏览模板,我们可以通过最小化模板快速定位详细浏览选项. 下面我们分步分享实现方法: 1.添加 C1TileView 到窗体,并 ...