【SWIFT】从零开始的SWIFT语言学习笔记-2:简单值、数组与字典
1.0.3 简单值、数组与字典
知识点:
使用var创建变量
var myVariable = 65
myVariable = myVariable + 1
使用let创建常量
let myConstant = 67
在创建变量或常量的时候不需要特别指出其类型,编译器会自动推断。
如果一开始不确定,则可以使用冒号指定类型。
let myConstant0 = 1
let myConstant1:Double = 2.71
var myVariable0 = 3
var myVariable1:Float=3.14
Swift不会隐式转换格式,我们需要在使用的时候准确转换好值的类型。
我们需要显式创建所需类型的实例。
let label = "My label"
let num = 1
let labelName = label + (String)(num)
字符串中包含值有一种简单的方法,使用\()取代复杂的写法。
该运算符也可以包含运算。
let apples = 3
let oranges = 5
let appleSum = "I have " + String(apples) + " apples"
let orangeSum = "I have \(oranges) oranges"
let allSum = "I have \(oranges + apples) things"
对占用多行的文本使用“”“。当“”“匹配时,就可以取消开头的缩进。
let longString = """
我:你好,我有\(apples)个苹果
她:你好,我有\(oranges)个橙子
结束对话
"""
使用[]创建数组和字典,在方括号输入索引访问其元素。最后一个元素后面允许有逗号。
索引从0开始。
var shoppingList = ["pen","apple","water",]
var firstItem = shoppingList[0]
var peopleList = [
"peter":"Teacher",
"sam":"Student",
]
增加数组或字典长度
peopleList["Jason"] = "Chef"
shoppingList.append("hat")
print(peopleList)
print(shoppingList)
如果要创建空数组或字典,使用初始化语法
var emptyArray:[String]=[]
var emptyDictionary:[String:Float]=[:]
如果已确认数组类型,就使用[]清空数组,[:]清空字典,如下:
emptyArray = []
emptyDictionary = [:]
练习题
1.创建一个具有Float显式类型且的值为4的常量.
Create a constant with an explicit type of Float and a value of 4.
2.若 let widthLabel = label + String(width) 代码中的的强制转换删除会出现什么错误?
Try removing the conversion to String from the last line. What error do you get?
3.使用\()语法构建一段文本,要求包含浮点数计算和某人姓名。
Use \() to include a floating-point calculation in a string and to include someone’s name in a greeting.
下一章,我们学习Control Flow控制流,if switch等等语句的使用
【SWIFT】从零开始的SWIFT语言学习笔记-2:简单值、数组与字典的更多相关文章
- Go语言学习笔记(三)数组 & 切片 & map
加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 数组 Arrays 数组是同一种数据类型的固定长度的序列. 数组是值类型,因此改变副本的值,不会改变本身的值: 当 ...
- R语言学习笔记:矩阵与数组(array)
元素可以保存在多个维度的对象中,数组存储的是多维数据元素,矩阵的是数组的特殊情况,它具有两维. 创建数组的几种方法. 1. > m<-c(45,23,66,77,33,44,56,12,7 ...
- C语言学习笔记 (006) - 二维数组传参的三种表现形式
# include <stdio.h> # include <stdlib.h> # define M # define N int getdate(int (*sp)[M]) ...
- C语言学习笔记 (005) - 二维数组作为函数参数传递剖析
前言 很多文章不外乎告诉你下面这几种标准的形式,你如果按照它们来用,准没错: //对于一个2行13列int元素的二维数组 //函数f的形参形式 f(int daytab[2][13]) {...} / ...
- C语言学习笔记(五) 数组
数组 数组的出现就是为了解决大量同类型数据的存储和使用的问题: 数组的分类:一维数组.二维数组. 一维数组:为多个变量连续分配存储控件:所有的变量的数据类型必须相同:所有变量所占的字节大小必须相等: ...
- c语言学习笔记(7)——数组
一.为什么需要数组1.为了解决大量同类型的数据存储和使用2.为了模拟现实世界二.数组的分类1.一维数组为n个变量连续分配存储空间所有的变量数据类型必须相同所有变量所占的字节大小必须相等初始化:完全初始 ...
- Python学习笔记3-Python元组、数组、字典集合的操作
在Python中数组中的每一项可以是不同的数据类型 元组:只能读不能写的数组 aTuple=(1,'abc','tmc',79.0,False) print aTuple[1:3] print typ ...
- HTML语言学习笔记(会更新)
# HTML语言学习笔记(会更新) 一个html文件是由一系列的元素和标签组成的. 标签: 1.<html></html> 表示该文件为超文本标记语言(HTML)编写的.成对出 ...
- 2017-04-21周C语言学习笔记
C语言学习笔记:... --------------------------------- C语言学习笔记:学习程度的高低取决于.自学能力的高低.有的时候生活就是这样的.聪明的人有时候需要.用笨的方法 ...
- 2017-05-4-C语言学习笔记
C语言学习笔记... ------------------------------------ Hello C语言:什么是程序:程序是指:完成某件事的既定方式和过程.计算机中的程序是指:为了让计算机执 ...
随机推荐
- 【Openxml】颜色变化属性计算
Openxml的颜色变化属性 目前Openxml存在颜色变化属性如下: 参数 说明 Hue 色调(色相) HueModulate 色调调制,百分比 HueOffset 色调偏移量,角度值 Satura ...
- vue海康视频播放组件
海康视频插件web文档 渲染组件后,调用initPlugin函数,传入一个code数组 <template> <div :title="name" :id=&qu ...
- VMware虚拟机基于contos 7 搭建lnmp环境全过程
这个环境也整了几次了,由于本人比较懒,没有记住.找资料很麻烦,就自己动手咯 1.下载VMware虚拟机 (有注册码) 地址:http://www.zdfans.com/5928.html ...
- 开发工具-Visual Studio / Visual Studio Code 官方下载地址
更新记录 2022年6月10日 完善标题. Visual Studio官方下载地址 https://visualstudio.microsoft.com/ Visual Studio Code官方下载 ...
- 在sqlbolt上学习SQL
在sqlbolt上学习SQL 该网站能够学习sql基础,并且能在网页中直接输入sql语句进行查询. 学习网站原网址https://sqlbolt.com/(!部分指令该网站不支持,且存在一些bug!) ...
- BUUCTF-荷兰宽带数据泄露
荷兰宽带数据泄露 下载后发现是个BIN文件,之前也是做过类似的题目 RouterPassview打开BIn文件即可,搜索username或者password. 最后flag是username
- python基础知识-day8(模块与包、random、os)
1.模块与包 package:相同的模块代码存储在一个目录下(即包里边会包含多个模块). 包不能存储在文件夹的目录下,模块名称不能使用关键字.(不包含工程文件夹) 2.模块与包的实例 1)在工程文 ...
- Spring Data JPA系列3:JPA项目中核心场景与进阶用法介绍
大家好,又见面了. 到这里呢,已经是本SpringData JPA系列文档的第三篇了,先来回顾下前面两篇: 在第1篇<Spring Data JPA系列1:JDBC.ORM.JPA.Spring ...
- VisonPro · 视觉定位工具包示例
一.概述 视觉定位工具包一般包含: 1.相机取像: 2.图像九点标定: 3.Mark点粗定位: 4.建立粗定位坐标系: 5.Mark点精定位 6.输出Mark点坐标,角度等信息. 二.分类 1.单特征 ...
- ConcurrentHashMap深入剖析(基于JDK1.7)
最近有点时间,翻了翻ConcurrentHashMap的源码学习了一下,对我自己认为比较重要的一些方法进行了学习,添加了一些必要的注释,拿出来与园子的小伙伴分享一下,有说的不对的地方,还请各位批评指正 ...