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:简单值、数组与字典的更多相关文章

  1. Go语言学习笔记(三)数组 & 切片 & map

    加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 数组 Arrays 数组是同一种数据类型的固定长度的序列. 数组是值类型,因此改变副本的值,不会改变本身的值: 当 ...

  2. R语言学习笔记:矩阵与数组(array)

    元素可以保存在多个维度的对象中,数组存储的是多维数据元素,矩阵的是数组的特殊情况,它具有两维. 创建数组的几种方法. 1. > m<-c(45,23,66,77,33,44,56,12,7 ...

  3. C语言学习笔记 (006) - 二维数组传参的三种表现形式

    # include <stdio.h> # include <stdlib.h> # define M # define N int getdate(int (*sp)[M]) ...

  4. C语言学习笔记 (005) - 二维数组作为函数参数传递剖析

    前言 很多文章不外乎告诉你下面这几种标准的形式,你如果按照它们来用,准没错: //对于一个2行13列int元素的二维数组 //函数f的形参形式 f(int daytab[2][13]) {...} / ...

  5. C语言学习笔记(五) 数组

    数组 数组的出现就是为了解决大量同类型数据的存储和使用的问题: 数组的分类:一维数组.二维数组. 一维数组:为多个变量连续分配存储控件:所有的变量的数据类型必须相同:所有变量所占的字节大小必须相等: ...

  6. c语言学习笔记(7)——数组

    一.为什么需要数组1.为了解决大量同类型的数据存储和使用2.为了模拟现实世界二.数组的分类1.一维数组为n个变量连续分配存储空间所有的变量数据类型必须相同所有变量所占的字节大小必须相等初始化:完全初始 ...

  7. Python学习笔记3-Python元组、数组、字典集合的操作

    在Python中数组中的每一项可以是不同的数据类型 元组:只能读不能写的数组 aTuple=(1,'abc','tmc',79.0,False) print aTuple[1:3] print typ ...

  8. HTML语言学习笔记(会更新)

    # HTML语言学习笔记(会更新) 一个html文件是由一系列的元素和标签组成的. 标签: 1.<html></html> 表示该文件为超文本标记语言(HTML)编写的.成对出 ...

  9. 2017-04-21周C语言学习笔记

    C语言学习笔记:... --------------------------------- C语言学习笔记:学习程度的高低取决于.自学能力的高低.有的时候生活就是这样的.聪明的人有时候需要.用笨的方法 ...

  10. 2017-05-4-C语言学习笔记

    C语言学习笔记... ------------------------------------ Hello C语言:什么是程序:程序是指:完成某件事的既定方式和过程.计算机中的程序是指:为了让计算机执 ...

随机推荐

  1. BUUCTF-九连环

    九连环 这题还是稍微有点难度的 使用16进制打开发现压缩包,用binwalk分离看看 分离得到的压缩包同样16进制看看 可以发现多个压缩包,这种情况应该是伪加密的方式,但是直接使用修复压缩包的方式没法 ...

  2. js中通过ajax调用网上接口

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  3. zabbix监控钉钉报警

    1. bash脚本 #!/bin/bash to=$1 subject=$2 text=$3 #此处的 xxxxx 就是刚刚复制存留的 api 接口地址. curl -i -X POST \ 'htt ...

  4. 我看谁还说程序员不会P图?拜托~4行python代码就够~

    我们平时使用一些图像处理软件时,经常会看到其对图像的亮度.对比度.色度或者锐度进行调整.你是不是觉得这种技术的底层实现很高大上? 其实最基础的实现原理,用 Python 实现只需要几行代码,学会后你也 ...

  5. Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-b1938128a963

    报错信息:Failed to Setup IP tables: Unable to enable SKIP DNAT rule:  (iptables failed: iptables --wait ...

  6. Go flag 详解,实现二级子命令

    前言 日常开发使用到的命令行工具大都支持如下特性: 文档自动生成(如 -h --help) 多级子命令(如 docker exec -it) 支持参数(如 ls -color=auto) 长短选项(如 ...

  7. SQLZOO练习(一)SELECT BASICS,SELECT form world

    name continent area population gdp Afghanistan Asia 652230 25500100 20343000000 Albania Europe 28748 ...

  8. API管理之利剑 -- Eolink

    随着信息化飞速增长的还有各信息系统中的应用接口( API ),API 作为信息系统内部及不同信息系统之间进行数据传输的渠道,其数量随着软件系统的不断庞大而呈指数型增长,如何管理这些 API 已经在业界 ...

  9. APISpace 让你快速获取名言警句

    名言警句,是指一些名人说的.写的.历史纪录的.经过实践所得出的结论或建议.警示的比较有名的言语.名言警句易于留传.   名言警句API,涵盖人生.励志等多个方面.   APISpace 有很多免费通用 ...

  10. Kafka入门实战教程(7):Kafka Streams

    1 关于流处理 流处理平台(Streaming Systems)是处理无限数据集(Unbounded Dataset)的数据处理引擎,而流处理是与批处理(Batch Processing)相对应的.所 ...