学习swift从青铜到王者之Swift集合数据类型03
1 数组的定义
var array1 = [,,,]
var array2: Array = [,,,]
var array3: Array<Int> = [,,,]
var array4: [Int] = [,,,]
2 数组元素可以是不同类型
var array:Array<Any> = ["a", , 2.4]
3 数组元素(增,删,改,查)
//数组元素的访问
var array1 = ["a", "b", "c"]
print(array1[])//a
//数组元素-增加
var array2 = ["a", "b", "c"]
array2.append("d")
print(array2)//["a", "b", "c", "d"]
//数组某个位置插入元素
var array3 = ["a", "b", "c"]
array3.insert("f", at: )
print(array3)//["f", "a", "b", "c", "d"]
//数组元素的修改
var array4 = ["a", "b", "c"]
array4[] = "d"
print(array4)//["d", "b", "c"]
//数组元素的删除
var array5 = ["a", "b", "c"]
array5.remove(at: )
print(array5)//["b", "c"]
5 数组的遍历
//第一种 for in方式
for item in array {
print("\(item)")
}
//第二种 索引-值方式enumerate()
for (index, item) in array.enumerated(){
print("索引:\(index) 值:\(item)")
}
6 字典的概念和定义
字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合
var dict: Dictionary<String, Any> = ["name" : "yhx", "age" : ]
7 字典的增删查改操作
// 定时字典的同时,进行初始化
var dict: Dictionary<String, Any> = ["name" : "yhx", "age" : 18]
// 添加数据
dict["height"] = 1.7
dict["weight"] =
// 删除字段
dict.removeValue(forKey: "height")
// 修改字典
dict["name"] = "yhx1"
dict.updateValue("yhx2", forKey: "name")
// 查询字典
dict["name"]
8 字典的遍历
// 定时字典的同时,进行初始化
var dict: Dictionary<String, Any> = ["name" : "yhx", "age" : ]
// 遍历字典中所有的值
for value in dict.values {
print(value)
}
// 遍历字典中所有的键
for key in dict.keys {
print(key)
}
// 遍历所有的键值对
for (key, value) in dict {
print(key)
print(value)
}
9.字典的合并
// 字典的合并
var dict1:Dictionary<String, Any> = ["name" : "yhx", "age" : ]
var dict2:Dictionary<String, Any> = ["height" : 1.7, "phoneNum" : ""]
// 字典并不可以相加合并
for (key, value) in dict1 {
dict2[key] = value
}
print(dict2)
学习swift从青铜到王者之Swift集合数据类型03的更多相关文章
- 学习swift从青铜到王者之swift属性09
1.结构体常量和类常量的存储属性 let p1 = Person1() //p1.age = 88 不允许修改 //p11.name = "yhx1" 不允许修改 var p11 ...
- 学习swift从青铜到王者之swift闭包06
语法表达式 一般形式:{ (parameters) -> returnType in statements } 这里的参数(parameters),可以是in-out(输入输出参数),但不能设定 ...
- 学习swift从青铜到王者之swift结构体和类08
定义 // 定义类 class StudentC{ } // 定义结构体 struct StudentS{ } 定义存储属性 // 定义类 class StudentC{ var name:Strin ...
- 学习swift从青铜到王者之swift枚举07
空枚举 //空枚举 enum SomeEnumeration { // enumeration definition goes here } 枚举基本类型 //枚举基本类型 enum CompassP ...
- 学习swift从青铜到王者之Swift语言函数05
1.定义一个函数以及调用 //一,定义一个无参无返回值函数 func fun1(){ print("this is first function") } fun1() 2.定义一个 ...
- 学习swift从青铜到王者之Swift控制语句04
1 if语句基本用法 if boolean_expression { /* 如果布尔表达式为真将执行的语句 */ } 如果布尔表达式为 true,则 if 语句内的代码块将被执行.如果布尔表达式为 f ...
- 学习swift从青铜到王者之swift基础部分01
1.1 变量和常量 var 变量名称 = 值(var可以修改) let 常量名称 = 值(let不可以修改) 1.2 基本数据类型 整数类型和小数类型 两种基本数据类型不可以进行隐式转换 var in ...
- 学习swift从青铜到王者之字符串和运算符02
1 字符和字符串初步 var c :Character = "a" 2 构造字符串 let str1 = "hello" let str2 = " ...
- 学习Android从青铜到王者之第一天
1.Android四层架构 一.Linux Kernel 二.Libraries和Android Runtime 三.Application Framework 四.Applications 一.Li ...
随机推荐
- java中字节和字符的转换操作
package com.ywx.io; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputSt ...
- Android 计算view 的高度
上午在做一个QuickAction里嵌套一个ListView,在Demo运行没事,结果引入到我的项目里,发现我先让它在Button上面,结果是无视那个Button的高度,这很明显,就是那个Button ...
- Farseer.net轻量级ORM开源框架 V1.x 入门篇:数据库配置文件
导航 目 录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:新版本说明 下一篇:Farseer.net轻量级ORM开源框架 ...
- 合并百度影音的离线数据 with python 2.2 bdv格式的更新
百度影音的bdv格式又有变化. 此次存在2种bdv格式. 格式1:每个文件夹内就一个bdv文件,文件合并后改名avi即可. 格式2:每个文件夹内一个bdv文件作为索引,其他附加guid的文件作为数据. ...
- cat - 连接文件并在标准输出上输出
SYNOPSIS 总览 cat [选项列表] [文件列表]... DESCRIPTION 描述 将文件列表中的文件或标准输入连接到标准输出. -A, --show-all 等价于 -vET . -b, ...
- C++中何时使用引用
使用引用参数的原因: 程序员能够修改调用函数中的数据对象 通过传递引用而不是整个数据对象,可以提高程序的运行速度. 当数据对象较大时(如结构和类对象),第二个原因最重要,这些也是使用指针参数的原因.这 ...
- Less用法注意事项
(1)引入顺序 引入你的 .less 样式文件的时候要设置 rel 属性值为 “stylesheet/less”: <link rel="stylesheet/less" t ...
- 微信小程序(template的使用)
小程序的template是一个模版功能,在创建一个template后,其他的页面可以引用,相比component较简单.方便! template只需要两个文件,一个wxss文件和wxml文件,也只有这 ...
- 小程序调用支付报错:jsapi缺少参数: total_fee
这种情况通常是因为在调用的时候,package参数有问题导致: wx.requestPayment中package参数必须是package:"prepay_id=wx21********** ...
- linux下nginx、php和mysql安装配置
一.安装nginx 安装nginx yum install -y epel-release yum install nginx -y 查看nginx软件包包括了哪些文件 rpm -ql nginx 启 ...