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 每一条执行语句可以不用分号结束,多条语句 ...
随机推荐
- 批量修改Project视图中Prefab的名字
简要代码如下: using UnityEditor; using UnityEngine; using System.IO; using System.Collections; using Syste ...
- poj 1474 Video Surveillance - 求多边形有没有核
/* poj 1474 Video Surveillance - 求多边形有没有核 */ #include <stdio.h> #include<math.h> const d ...
- multi-CPU, multi-core and hyper-thread--转
原文地址:http://stackoverflow.com/questions/680684/multi-cpu-multi-core-and-hyper-thread Multi-CPU was t ...
- TF-IDF 简介
假设我们手头有大量的文档(或网页), 通常我们会比较关心以下几个问题: 1. 每一个文档的关键词(或主题词)包括哪些? 2. 给定一个(或一组)关键词,与这个(或组)词最相关的文档是哪一个? 3. ...
- 流行趋势:25款很酷的长阴影效果 LOGO 设计
长阴影其实就是扩展了对象的投影,感觉是一种光线照射下的影子,通常采用角度为 45 度的投影,给对象添加了一份立体感.长阴影(Long Shadow)概念来自于最新非常流行的扁平化设计(Flat Des ...
- es6新特性学习
本文用来记录一下es6的新特性,持续更新.... es6在前端目前还不能大面试使用,包括移动端兼容也不好.不过在node中已可以使用其中96%的特性.也可使用一些插件将es6转化为es5,比如babl ...
- 在ubuntu下创建wifi供移动端使用
转自:http://jingyan.baidu.com/album/ea24bc39b03fc6da62b331f0.html?picindex=8 完全正确是流程 另外 还需要本机能够连上内网的vp ...
- HTML简明教程(二)
HTML简明教程(二) 一.HTML 图像 二.HTML 表格 三.HTML 列表 四.HTML div和 span 五.HTML 布局 六.HTML 表单和输入 七.HTML 框架 八.HTML内联 ...
- iOS 9.2新增API
CloudKit 新增CKFetchWebAuthTokenOperation类 CKFetchWebAuthTokenOperation对象从使用指定的cloudkit中的APIToken获取一个w ...
- 查找最小的k 个元素之C#算法实现
紧接着上一篇微软编程面试100题,这次想解决的是查找最小的K个元素,题目是:输入n 个整数,输出其中最小的k 个.例如输入1,2,3,4,5,6,7 和8 这8 个数字,则最小的4 个数字为1,2,3 ...