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. 探索链路追踪在.NET6工业物联网项目的应用

    ExploringIoTDistributedTracingNet6 如果觉得有用,请留言学到了. 已经会了的老哥,请留言就这? 可能遇到的问题 工业物联网项目自上而下一般分为ERP.Mes.SCAD ...

  2. npm发布包以及更新包还有需要注意的几点问题(这里以发布vue插件为例)

    前言 在此之前,你需要去npm官网注册一个属于自己的账号,记住自己的账户名以及密码.邮箱,后面会用的到.第一步,安装webpack简易框架 vue init webpack-simple marque ...

  3. SAP 文本框多行输入

    REPORT zjw_test01. CONSTANTS: gc_text_line_length TYPE i VALUE 72. TYPES: text_table_type(gc_text_li ...

  4. ansible部署java及数据库环境

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.1.rpm wget https://artif ...

  5. Halcon · 曲线宽度检测算法总结

    视觉检测中,直线的宽度很好检测,即两条平行线的垂直距离,而曲线的宽度检测则需要另辟蹊径. 检测图像中曲线边缘的宽度,用以判断边缘是否崩缺,总结如下五种方法: 1.图像匹配判断 概述:建立标准图像参考, ...

  6. 你真的会python中的for循环吗

    for 循环是 Python 中的通用序列迭代器:它可以单步遍历任何有序序列中的元素.for 语句适用于字符串.列表.元组.其他内置可迭代对象和类创建的新对象. for 通常比 while 循环更容易 ...

  7. IDEA Unicode码转中文

    1.打开设置 2.打开文件编码设置,按如图设置

  8. colab运行.py文件

    !python split_data.py

  9. 数组容器(ArrayList)设计与Java实现,看完这个你不懂ArrayList,你找我!!!

    数组容器(ArrayList)设计与Java实现 本篇文章主要跟大家介绍我们最常使用的一种容器ArrayList.Vector的原理,并且自己使用Java实现自己的数组容器MyArrayList,让自 ...

  10. nginx 日志按日期分隔

    #user nobody; user root; worker_processes 1; error_log /spdblogs/nginx/logs/error.log; error_log /sp ...