swift学习笔记(变量、数组和字典)

变量

(1)let 声明常量,var 声明变量,常量只能赋值一次。

(2)常量和变量在声明的同时赋值,编译器会自动推断类型。

(3)在声明时即不赋值也不指定类型,编译会出错,即不能声明类型不确定的变量。

(4)swift的变量是强类型的,变量的类型确定以后,就不能在赋值其他类型数据给变量。

(5)变量在声明的时候(显示指定类型的声明方式)在类型后面加一个?来标记这个变量的值是可选的,默认值为nil。

(6)变量在没有初始化前使用编译错误,除非标记为缺省值

(7)不能将nil直接赋值给变量,标记为缺省值变量的除外

(8)可以将值缺失变量赋值给任意变量,如果值缺失变量为nil赋值语句返回false,有值返回true,可用作条件判断。

var temp = 2                         // 编译器自动推断类型方式声明变量

temp = 1.0                            // 编译错误 (4)

var temp:Double = 2             // 显示指定类型方式声明变量并赋值

var test                                  // 编译错误(3)

var test:String                       // 显示指定类型方式声明变量

println(test)                            // 编译错误(6)

test = nil                                // 编译错误(7)

var test:String?                      // 指定变量值缺失

if var name = test {

println("赋值成功")
}
else {
    println("缺省值赋值失败")

}

 

值类型之间转换

swift值之间必须显示转换,可以使用\()在“”内将数值转换成字符串

let label = “The width is"

let width = 98

let height = 100

let str1 = label + String(width)

let str2 = “The height = \(height)”

数组和字典

使用[]创建数组和字典,使用下标或健(key)来访问元素

var shopList = ["catfish","water","tulips"]

shopList[2] = "bottle for water"

var dict = [
    "Malcolm": "Captain",
    "Kaylee": "Mechanic"
]

dict["Jayne"] = "Public"

数组和字典内元素都是可以修改的,没有提供直接删除和添加元素的方法。数组支持“+”,“+=”运算,不支持“-”运算。字典不支持“+”、“-”运算,但会将没有的key直接添加到字典中。

创建一个空数组或字典

let emptyArray = String[]()

let emptyDictionary = Dictionary<String,Float>()

let 声明的数组和字典是不能修改的,也不能对内部元素进行操作

时间: 2024-10-13 20:19:09

swift学习笔记(变量、数组和字典)的相关文章

Swift学习笔记(12)--数组和字典的复制

Swift中,数组Array和字典Dictionary是用结构来实现的,但是数组与字典和其它结构在进行赋值或者作为参数传递给函数的时候有一些不同. 并且数组和字典的这些操作,又与Foundation中的NSArray和NSDictionary不同,它们是用类来实现的. 注意:下面的小节将会介绍数组,字典,字符串等的复制操作.这些复制操作看起来都已经发生,但是Swift只会在确实需要复制的时候才会完整复制,从而达到最优的性能. 字典的赋值和复制操作 每次将一个字典Dictionary类型赋值给一个

Swift学习笔记(5)--数组

数组的下标从0开始计数,相关方法属性涉及到下标时也从0开始计数 1.定义: //1.可变数组 var cityArray = ["Portland","San Francisco","Cupertino"] //2.不可变数组 let cityArray2 = ["Portland","San Francisco","Beijing"] //3.空数组 var animalArray =

OC 集合-学习笔记(数组、字典、Set集合、数值数据)

数组的定义: 数组:数组是有序对象的集合,用来储存对象的有序列表(需注意,不能储存基本数据类型,只能储存对象).对象:类的具体实现 和字符串一样,数组也有可变数组和不可变数组之分,可变数组是不可变数组的子类,使用数组前得先创建数组对象 NSArray类:(不可变数组) 1.数组的初始化: 实例方法:NSArray* array=[[NSArray alloc]initWithObject:@"one",@"tow",nil]; 类方法:NSArray * array

[Swift]学习笔记----变量不会被默认初始化

顶一个变量,如果不进行初始化,是不能实用的,Swift 会报错. 目测 对象也是必须要new 才可以使用. 这又是我很赞同苹果的一个做法. Swift真不错! 而如果把变量申明为可选值,则该变量默认就会是一个 nil 值 (既空值) 语法是 var i:Int?; (吐槽以下博客园:居然不能再博客页面直接编辑博文,必须进入后台管理才可以编辑,真心弱爆了啊!看来博客园也不是写博客的长久之计!)

Swift学习字符串、数组、字典

一.字符串的使用 let wiseWords = "\"I am a handsome\"-boy" var emptyString = "" if emptyString.isEmpty{ println("这是一个空值") } 简单说明:isEmpty方法是用来判断字符串是否为空值的,之后会执行if语句中的println方法,因为emptyString是一个空的字符串. 注意:创建一个空的字符串有两种方法,一是如empty

Swift学习笔记--变量与常量

1.Swift是一门强类型语言,不能为变量赋予其自身数据类型之外的值: 2.声明变量使用var关键字,声明常量使用let关键字: 3.声明变量或常量时没有对其指定类型且赋予了初值,则编译器会自动推断常量或者变量的值,即“类型推断”:反之,声明变量或常量时既没有指定其类型又未设置初值则不被允许: 4.Swift语言允许在每一行结尾处省略“;”分号: 5.类型字面量:二进制数值前缀是0b,八进制数值前缀是0o,十六进制前缀是0x; 6.Swift语言完全支持Unicode字符:

Swift学习笔记四:数组和字典

最近一个月都在专心做unity3d的斗地主游戏,从早到晚,最后总算是搞出来了,其中的心酸只有自己知道.最近才有功夫闲下来,还是学习学习之前的老本行--asp.net,现在用.net做项目流行MVC,而不是之前的三层,既然技术在更新,只能不断学习,以适应新的技术潮流! 创建MVC工程 1.打开Visual studio2012,新建MVC4工程 2.选择工程属性,创建MVC工程 3.生成工程的目录 App_Start:启动文件的配置信息,包括很重要的RouteConfig路由注册信息 Conten

Swift学习笔记(5)--字典

1.定义 //1.基本定义 [key 1: value 1, key 2: value 2, key 3: value 3] var dict = ["name":"Xiaoqin","sex":"female","age":"20"] for (key,value) in dict { println(key,value) } //2.类型强制定义 Dictionary<keyT

swift学习笔记(三)关于拷贝和引用

在swift提供的基本数据类型中,包括Int ,Float,Double,String,Enumeration,Structure,Dictionary都属于值拷贝类型. 闭包和函数同属引用类型 捕获则为拷贝.捕获即定义这些常量和变量的原作用域已不存在,闭包仍然可以在闭包函数体内引用和修改这些值 class属于引用类型. Array的情况稍微复杂一些,下面主要对集合类型进行分析: 一.关于Dictionary:无论何时将一个字典实例赋给一个常量,或者传递给一个函数方法时,在赋值或调用发生时,都会

Swift学习笔记(一):基础

一.常量 & 变量 //常量 let constantsTeam = 1 //变量 var variablesTeam = 2 尽可能使用常量,这样更清晰并且内存更不容易肾亏. 二.显示/隐式指定类型 //隐式 let inferredTeam = 3 //显式 let explicitTeam:Int = 4 三.字符串输出 //通过\(变量或常量名)来引用组合字符串 println("\(inferredTeam) is bigger than \(variablesTeam)!&q