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. 我的开源之路:耗时 6 个月发布线程池框架,GitHub 1.7k Star!

    文章首发在公众号(龙台的技术笔记),之后同步到掘金和个人网站:xiaomage.info Hippo4J 线程池框架经过 6 个多月的版本迭代,2022 年春节当天成功发行了 1.0.0 RELEAS ...

  2. go程序添加远程调用tcpdump功能

    最近开发的telemetry采集系统上线了.听起来高大上,简单来说就是一个grpc/udp服务端,用户的机器(路由器.交换机)将它们的各种统计数据上报采集.整理后交后端的各类AI分析系统分析.目前华为 ...

  3. MVVM,MVC,MVP的区别

    MVC.MVP 和 MVVM 是三种常见的软件架构设计模式,主要通过分离关注点的方式来组织代码结构,优化开发效率. 在开发单页面应用时,往往一个路由页面对应了一个脚本文件,所有的页面逻辑都在一个脚本文 ...

  4. Spring Security认证器实现

    目录 拦截请求 验证过程 返回完整的Authentication 收尾工作 结论 一些权限框架一般都包含认证器和决策器,前者处理登陆验证,后者处理访问资源的控制 Spring Security的登陆请 ...

  5. 【python基础】第04回 变量常量

    本章内容概要 1. python 语法注释 2. python 语法之变量常量 3. python 基本数据类型(整型(int),浮点型(float),字符串(str)) 本章内容详解 1. pyth ...

  6. 在项目中导入lombok依赖自动生成有参,无参 空参 方法的注解

    导入依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok< ...

  7. super详解(继承)

    //在Java中,所有的类,都默认直接或者间接继承objec类// Person 人 :父类public class Person /*extends object*/ { public Person ...

  8. Solution -「CF520E」Pluses everywhere

    Step 1. 转化一步题目:考虑有 \(n\) 个小球,每个小球有 \(a_i\) 的价值,\(m\) 个板子,把板子插进小球间的空隙,且不能插在第 \(1\) 个球之前与第 \(n\) 个球之后. ...

  9. Python 封装SNMP调用接口

    PySNMP 是一个纯粹用Python实现的SNMP,用PySNMP的最抽象的API为One-line Applications,其中有两类API:同步的和非同步的,都在模块pysnmp.entity ...

  10. 基于ABP实现DDD--领域逻辑和应用逻辑

      本文主要介绍了多应用层的问题,包括原因和实现.通过理解介绍了如何区分领域逻辑和应用逻辑,哪些是正确的实践,哪些是不推荐的或者错误的实践. 一.多应用层的问题 1.多应用层介绍   不知道你们是否会 ...