[Swift系列]002-基础语法
基础语法就那老几样,很快可以说完
【常量、变量】
1.变量用 var,系统自动去判断类型,但变量再次赋值需保持数据类型一致
var a=50
相信用过js/java/C#的,对这个var都不陌生
使用 var 变量名:数据类型 = 变量值
这种格式可以指定具体的数据类型,比如要指定float时
var x:Float = 12.5
不这样写,直接var x=12.5,系统默认是double
2.常量用 let
let pi=3.14
常量也可以使用绝对数据类型来定义:
let x:Double=2
指定x为值是2的双精
混合类型常量运算时,需要注意类型转换:
let label=“长度是:”
let width= 30
let widthLabel= label+String(width)
常量还可以在字符串中转义,使用“\()”
let apples = 3
let oranges = 5
let appleSummary = "I have \(apples) apples."
let fruitSummary = "I have \(apples + oranges) pieces of fruit."
【数组、字典】
var shoppingList = ["catfish", "water", "tulips", "blue paint"]
shoppingList[1] = "bottle of water"
var occupations = [
"Malcolm": "Captain",
"Kaylee": "Mechanic",
]
occupations["Jayne"] = "Public Relations"
创建空的数组或字典时,因为没法使用后面的值来判断所创建的类型,所以必须使用“初始化语法”
let emptyArray = String[]()
let enptyDictionary = Dictionary<String,Float>()
当变量的数据类型已知时,比如函数参数,可以使用[]或[:]将空的数组或字典赋值给变量
shoppingList = []
【流程控制语句】
基本所有语言都通用,还是那几个,只不过swift做的更绝,把小括号都给省了
let individualScores = [67,50,2,74,33]
var teamScore = 0
for score in individualScores{
if score > 50{
teamScore +=3
}else {
teamScore +=1
}
}
println(teamScore)
将上面的代码在playground中
注意:
if后的条件判断表达式,不能像C那样什么都能放,swift的if后只接受布尔类型表达式(Boolean expression)
if 和 let 可以用来判断处理可能丢失的值,这种值成为“可选值”(optionals),使用“?”来定义,其中可能有值,也可能为nil
var opS:String?="Hello"
opS==nil var oN:String?="xiaobai"
var greeting="Hello!"
if let name=oN{
greeting="Hello,\(name)"
}
else
{
greeting="Hello,nobody"
}
switch 可以判断的不单单再是整形,可以使用任意类型作为条件判断;
而且当某个case执行完后,不会再进入下面的case,所以省去了break

在swift中,可以使用for-in来遍历字典数组:
let interestingNumbers=[
"Prime":[2,3,5,7,11,13]
"Fibonacci":[1,1,2,3,5,8]
"Square":[1,4,9,16,25]
]
var largest=0
for (kind,numbers) in interestingNumbers{
for number in numbers{
if number > largest{
largest = number
}
}
} println("lagest num:\(largest)")
for循环中,可以使用“..”符号,来指定循环变量的开始和终止,下面两个循环完全相同
".."不包含上限,“...”包含上限
[Swift系列]002-基础语法的更多相关文章
- openresty开发系列15--lua基础语法4表table和运算符
openresty开发系列15--lua基础语法4表table和运算符 lua中的表table 一)table (表)Table 类型实现了一种抽象的"关联数组".即可用作数组,也 ...
- openresty开发系列14--lua基础语法3函数
openresty开发系列14--lua基础语法3函数 一)function (函数) 有名函数: optional_function_scope function function_name( ar ...
- openresty开发系列13--lua基础语法2常用数据类型介绍
openresty开发系列13--lua基础语法2常用数据类型介绍 一)boolean(布尔)布尔类型,可选值 true/false: Lua 中 nil 和 false 为"假" ...
- swift第一季基础语法
同: 一.基础 同: 1常量和变量 2数据类型和数据类型转换 3别名 不同: 1可选类型optional 2BOOL类型 3元组类型 4断言Assertion 二.基本操作符 同: 1赋值和算术运算及 ...
- Python3 系列之 基础语法篇
基础数据类型 整数 python 可以处理任意大小的整数 浮点数 python 可以处理任意大小的浮点数,但是需要注意的一点是:整数运算永远是精确的(除法也是精确的),而浮点数运算则可能会有四舍五入的 ...
- Swift 中的基础语法(二)
1.Swift 中的函数 /// 函数的定义 /// /// - Parameters: /// - x: 形参 /// - y: 形参 /// - Returns: 返回值 func sum(x: ...
- VUE 入坑系列 一 基础语法
html代码 <div id="app"> {{message}} </div> JavaScript代码 var vm = new Vue({ el: & ...
- swift3.0基础语法
swift 3.0 基础语法 目录 01-变量和常量 02-运算符 03-可选项 04-条件语句 05-循环 06-字符串 07-元组 08-数组 09-字典 10-对象和类 11-枚举 12-属性 ...
- 一、vue基础语法(轻松入门vue)
轻松入门vue系列 Vue基础语法 一.HelloWord 二.MVVM设计思想 三.指令 1. v-cloak 2. v-text 3. v-html 4. v-show 4. v-pre 5. v ...
随机推荐
- 如何使用CSS3创建一个漂亮的图标
演示 下载 今天,我想展示给你一个巧妙的花招.我们将创建一个纯CSS3文本图标.更让人震惊的是,这效果将只需要一个HTML元素. 游戏的计划 创建一个矩形盒子 设置圆角 使用伪类元素创建一个卷角效果 ...
- Ext Js学习之IIS理解
站点分为静态网站和动态网站,纯粹利用html编写的网站属于静态网站,不宜维护和更新而利用C#+extjs等前台+后台技术编写的网站就属于动态站点,有更多的交互,易维护和更新,比如降价的页面,利用htm ...
- DevOps:怎么实现源代码注释和系统文档的自动化更新?
[编者按]计算机软件传统定义为:软件是计算机系统中与硬件相依存的另一部分,软件包括程序.数据及其相关文档的完整集合.然而在时下的开发中,文档的合规性往往被忽视的干干净净.本文由 Todd Waits ...
- Lucene教程--转载
Lucene教程 1 lucene简介1.1 什么是lucene Lucene是一个全文搜索框架,而不是应用产品.因此它并不像www.baidu.com 或者google Desktop那么拿来 ...
- 导出含有图片的项目成jar文件后运行,图片不显示
在编写完Java程序后,打包成Jar时发布,会发现找不到Jar文件中的图片和文本文件,其原因是程序中载入图片或文本文件时,使用了以当前工作路径为基准的方式来指定文件和路径.这与用户运行Jar包时的当前 ...
- iOS-CAShapelayer
1.CAShapeLayer继承至CALayer,可以使用CALayer的所有属性值2.CAShapeLayer需要与贝塞尔曲线配合使用才有意义3.使用CAShapeLayer与贝塞尔曲线可以实现不在 ...
- 转载——有感于三个50岁的美国程序员的生活状态与IT职业杂想
明天就是国庆节了,今天也不想干活干的太累了!写一篇以前去美国出差的杂想,对比于美国50多岁的程序员和大多数50多岁国内父母的生活状态有感而发. 前几年正好有一个项目的机会出差去了一次美国,地点是美国中 ...
- light oj 1068 - Investigation 数位DP
思路:典型的数位DP!!! dp[i][j][k]:第i位,对mod取余为j,数字和对mod取余为k. 注意:由于32位数字和小于95,所以当k>=95时,结果肯定为0. 这样数组就可以开小点, ...
- springmvc的mvc:view-controller标签
1.重定向 <mvc:view-controller path="/" view-name="redirect:/admin/index"/> 即如 ...
- 最简单的jdbc程序
package cn.ytu.mybatis.jdbc; import java.sql.Connection; import java.sql.DriverManager; import jav ...