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 每一条执行语句可以不用分号结束,多条语句 ...
随机推荐
- java中如何将JScrollPane的垂直滚动条自动移动到最下端
JPanel QQP = new JPanel(); JScrollPane jsp = new JScrollPane(QQP); JScrollBar jsb = jsp.getVerticalS ...
- Web程序员开发App系列 - 开发我的第一个App,源码下载
Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...
- bootstrap插件学习-bootstrap.button.js
先看bootstrap.button.js的结构 var Button = function ( element, options ){} //构造器 Button.prototype = {} // ...
- Java后端书架
本书架主要针对Java后端开发与架构. 更新记录:4.0版把第五部份-具体技术的书整块拿掉了.<TCP/IP详解 卷1:协议>出到了第二版,增加<SRE:Google运维解密> ...
- python读取xml文件
关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是 ...
- Xcode 报错信息
1.CUICatalog: Invalid asset name supplied: 原因是: 使用的方法[UIImage imageNamed:@""]; @"&quo ...
- 初学Flask(1)
今天在学习Flask,边看官方文档一边动手运行例子,以注释的形式写了一些笔记,分享给大家. Flask官方文档,快速入门: ex1: #coding:utf-8 ################### ...
- 微软必应词典客户端的案例分析——个人Week3作业
第一部分 调研,评测 Bug探索 Bug No1.高亮语义匹配错位 环境: windows8,使用必应词典版本PC版:3.5.0 重现步骤: 1. 搜索"funny face"这一 ...
- [Solution] 1分钟使用log4net
log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具 官网:http://logging.a ...
- log4net日志记录
这里是接着上一篇来优化的,上篇:ASP.NET MVC中错误日志信息记录 log4Net是用来记录日志的,可以将程序运行过程中的信息输出到一些地方(文件,数据库,EventLog等),日志就是程序的黑 ...