Swift(上) 常量, 变量, 数据类型, 循环, 选择结构 简单函数

本篇内容是在XCode的Playground下编写的

那么什么是Playground呢?

提到Playground我们就不得不提Swift这个最近苹果公司力推的语言, Swift是苹果公司在WWDC2014上发布的全新开发语言。从演示视频及随后在appstore上线的标准文档看来,语法内容混合了OC,JS,Python,语法简单,使用方便,并可与OC混合使用。

Xcode 6 对 Swift 有着全面深入的支持。你可以利用 100% Swift 代码创建全新的 app,或者将新的 Swift 代码或框架添加到现有的 app 中,还可查看用 Swift 和/或 Objective-C 语言编写的文档。“跳转至定义”或“快速打开”等所有常见的可供性同样适用于 Swift,甚至还可用 Swift 语法显示 Objective-C 标头定义。

尽管 Swift 编译为高度优化的原生代码,但 Playground 可以实现脚本语言的交互式体验。键入一行代码,结果便会立即显现。如果你的代码运行一个循环,可将该行代码添加到时间轴辅助编辑器中,观察其进度。以图形方式显示变量,绘制视图时检查每一个步骤,或者观看 SpriteKit 动画场景。在 Playground 中优化好代码后,即可将它移到你的项目中。Playground 文档包括你可以在 Playground 中打开的教程,其中包含可供试验的交互式工作表。

但是, Playground现在感觉还是一个玩具, 玩玩可以, 但是真正的去用它编程 那就不怎么靠谱了

// Playground - noun: a place where people can play

import UIKit

var str = "Hello, playground"

// 输出语句

// 我们学习每一门语言的第一条语句HelloWorld!

println("hello, world")

// 定义常量

// 可以不写数据类型, 系统会根据其赋值自动推荐其类型

//let a = 10

let a : Int = 10

println("\(a)")

println(a)

// 定义变量

var b = 11.0

//var b : Float = 11.0

// Swift不支持隐式转换 必须显示转换类型

var c = (Double)(a) + b

// Swift命名几乎支持所有Unicode编码

// 注意以下几点:

// 1. 不能使用系统保留字, 如果一定要使用保留字, 可加`保留字`命名

// 2. 不能以数字开头

// 3. 不能使用数字符号命名

// 4. 不能使用横线箭头命名

let `Int` = 1

var 哈哈 = "呵呵"

println(哈哈)

var ?? = "??"

println(??)

var short : Int8 = 4

var xx : Int16 = 66

// 拼接字符串

?? += 哈哈

// 元组 数据库里的概念, 相当于一条数据

var person : (String, Int) = ("我", 23)

// 可以通过下标取值

person.0

person.1

// person1相当于表名, name, age相当于列名, 对应着数据库中的一条数据

var person1 : (name : String, age : Int) = (name : "我", age : 23)

person1.name

// 元组分解

var (name, age) = person1

name

age

// 数组

// 可变用 var 修饰

// 不可变用 let 修饰

// 定义一个空数组

var emptyArr = [String]()

// 数组元素个数

emptyArr.count

// 必须是同一类型数据, 否则将自动转换为OC里的数组

var arr = ["dt", "xg", "lw"]

// 系统会自动推断为下面这种形式

//var arr : [String] = ["dt", "xg", "lw"]

// 数组里添加一条元素

arr.append("xq")

// 数组中插入一条元素

arr.insert("lb", atIndex: 1)

// 修改数组中下标对应的元素

arr[0] = "hdt"

println(arr)

// 删除数组中某条数据

arr.removeAtIndex(0)

println(arr)

// 遍历数组

for name in arr {

name

}

// 遍历数组时获取元素对应的下标

for (index, name) in enumerate(arr){

index

name

}

// 数组中多个元素

// 0..<2 表示一个范围, 0~2左闭又开区间

// 0...2 表示0~2闭区间

arr[0..<2]

arr[0...2]

// 创建一个空字典

// key必须是同一个类型, value 也必须是同一类型的, key和value可以是不同类型的

var emptyDic = Dictionary<String, Int>()

var dic = ["name":"sx", "other":"zx"]

// 系统会自动推断为下面这种形式

//var dic : Dictionary<String, String> = ["name":"sx", "other":"zx"]

// 在字典中添加键值对

// 如果key值存在则为修改键值对操作

dic["origin"] = "lsx"

println(dic)

dic.updateValue("wg", forKey: "other")

println(dic)

// 删除字典中的键值对

dic.removeValueForKey("name")

dic["other"] = nil

println(dic)

// 遍历字典

for (key, value) in dic{

key

value

}

// 通过下标取字典中的键值对

var index = dic.indexForKey("origin")

dic[index!]

// 可选变量 optional

// 表示此变量的值可能为空

var canChoose : Int?

// 应用于不确定能不能有值的情景, 例如下面情况 如果"1234"为有值, "1234f"则为nil 如果不是可选变量默认都有值

var newStr : String = "1234f"

// toInt表示转化成Int类型

canChoose = newStr.toInt()

// if语句 要求判断条件必须为Bool值 用true 或 false

// 如何定义一个Bool值

var isTrue : Bool = true

if isTrue {

println("true, \(newStr)")

} else {

println("false")

}

if canChoose != nil {

println("true")

} else {

println("false")

}

// switch

// Swift中对switch进行了很大的修改, 我们case选项可以为字符串, 默认不需要写break, 如果想强制执行下一个case, 需要添加 fallthrough关键字

var someone = "xm"

switch someone {

case "xm" :

println("xm")

fallthrough

case "xxs" :

println("xxs")

default :

println("default")

}

// switch 的case 可以为一个范围, 甚至可以多条件选择 用 where 关键字

var score : Int = 45

switch score {

case 0..<100 where score == 88:

println("这是一个小于100的数")

case 100...200 :

println("这是一个100到200之间的数")

default :

println("default")

}

// switch的case 还可以为一个元组, 元组中的"_"表示忽略该值

var point = (0, 4)

switch point {

case (_, 0):

println("在x轴上")

case (0, _):

println("在y轴上")

default:

println("default")

}

// 可以通过取范围遍历

var i : Int

for i in 0..<10 {

i

}

// for 循环

for var j = 0; j < 10; j++ {

j

}

// do while

var k = 10

do {

k++

} while k < 20

// while循环

while k < 100 {

k++

}

// 定义函数时 需要加一个 func关键字 sayHello 为函数名 括号里的为参数(参数名: 参数类型) -> 指的是返回值  {}大括号里面的表示函数体

func sayHello(name:String, number:Int)->String {

return name

}

sayHello("dt", 99)

// 我们可以给函数参数加一个标签 (外部参数) 用于提示我们需要输入一个什么样的参数 或者说是干什么用的

func sayGoodBye(peronName name:String, number:Int)->String {

return name+"\(number)"

}

sayGoodBye(peronName: "xg", 99)

时间: 2024-08-01 18:03:54

Swift(上) 常量, 变量, 数据类型, 循环, 选择结构 简单函数的相关文章

Swift学习--常量.变量.数据类型的使用(一)

一.Swift中的常量和变量 /* Swift 中定义常量和变量用let/var let 代表定义一个常量 var 代表定义一个变量 Swift 中代表定义常量和变量不需要写数据类型,编译器辉根据我们后面数据的真实类型自动推导 Swift开发技巧:在做Swift开发中,我们需要经常使用option + click键来查看方法或变量 **/ //常量 let num = 10.1 //num = 9.0 //常量不能修改 //变量 //注意点: Swift开发中每一条语句后面可以不写分号,但是写上

Swift学习--常量.变量.数据类型的使用(二)

一.Swift中的数组 //Swift中的数组 //NSArray *arr = @["",""]; //和OC数组的区别就是去掉前面的@ let arr11 = ["zhangsan", "lisi"] print(arr11) // 遍历每一个元素 for a in arr11 { print(a) } // 像 OC 一样打印 print(arr11 as NSArray) // 数组中保存的都是字符串 let arr

C# 语法 循环 选择结构

一.选择结构: 1. if选择结构 2. if-else选择结构 3. if-else if-else if-else多重if选择结构 4. if-if-else-else 嵌套if选择结构 5. switch选择结构 switch(表达式) { case 常量表达式1: 语句1; break; case 常量表达式2: 语句2; break; ................. default: 语句n; break; } 注意:C#中的switch选择结构case中必须有braek,否则将提

JavaScript循环/选择结构

和其他语言一样,JavaScript也有循环结构和选择结构 选择结构: if(条件){     // 满足条件的执行语句 } if(条件){     // 满足条件的执行语句 } else {     // 不满足条件的执行语句 } if(条件1){     // 满足条件1的执行语句 } else if(条件2){     // 满足条件2..N..的执行语句 } else{     // 不满足以上条件的执行语句 } switch(条件){     case 匹配结果1:         /

If选择结构的回顾

? 什么是if选择结构?if选择结构是根据条件判断之后再做处理语法:if ( 条件 ) {//结果必须是布尔值从而判断真和假,结果为“真” 执行if下的代码快,结果为“假”不执行if结构下的代码块 //代码块 }? 逻辑运算符运算符 表达式 说 明 && 条件1 && 条件2 仅仅两个条件同时为真,结果为真|| 条件1 || 条件2 只要两个条件有一个为真,结果为真! ! 条件 条件为真时,结果为假条件为假时,结果为真 三,产生随机数(0~9)的方法如下: int rand

Swift基础语法(常量变量、数据类型、元组、可选、断言等)

Swift 是 iOS 和 OS X 应用开发的一门新语言.然而,如果你有 C 或者 Objective-C 开发经验的话,你会发现 Swift 的很多内容都是你熟悉的. Swift 的类型是在 C 和 Objective-C 的基础上提出的,Int是整型:Double和Float是浮点型:Bool是布尔型:String是字符串.Swift 还有两个有用的集合类型,Array和Dictionary,请参考集合类型. 就像 C 语言一样,Swift 使用变量来进行存储并通过变量名来关联值.在 Sw

Swift - 1 (常量、变量、字符串、数组、字典、元组、循环、枚举、函数)

Swift 中导入类库使用import,不再使用<>,导入自定义不再使用"" import Foundation 1> 声明变量和常量 在Swift中使用 "let" 修饰一个常量,使用 "var" 修饰一个变量; let修饰常量的值是不可以更改的: var修饰的变量的值是可以更改的: 在声明常量和变量的时候可以使用表情符号.中文等命名常量名和变量名. Swift定义变量或者常量的时候,需要标识出变量或者常量的类型,如果不标识,

Java_Day04(java 基础上,选择结构,循环结构,转跳)

1:switch语句(掌握) (1)格式: switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; break; ... default: 语句体n+1; break; } 格式解释说明: switch:说明这是switch语句. 表达式:可以是byte,short,int,char JDK5以后可以是枚举 JDK7以后可以是字符串 case:后面的值就是要和表达式进行比较的值 break:表示程序到这里中断,跳出switch语句 default:如

swift学习第一天---常量变量基础数据类型

1 import Foundation 2 3 /** 4 * 1.常量 变量 5 知识要点:常量的定义用let 变量的定义用var 6 常量一旦定义便不可再更改. 7 变量定义之后可以在定义之后的程序中任意地方进行修改. 8 */ 9 // 常量的定义 10 let constants1:Int = 10 11 12 print("constants1 = \(constants1)") 13 14 // 变量的定义 15 var variables1:Int = 11 16 17