swift3.0 入门学习笔记之一 基础篇
来源:互联网 发布:淘宝网的女款高端衬衣 编辑:程序博客网 时间:2024/06/06 08:51
常量和变量
常量和变量把一个名字(比如 maximumNumberOfLoginAttempts
或者 welcomeMessage
)和一个指定类型的值(比如数字 10
或者字符串 "Hello"
)关联起来。常量的值一旦设定就不能改变,而变量的值可以随意更改。
声明常量和变量
常量和变量必须在使用前声明,用 let
来声明常量,用 var
来声明变量。下面的例子展示了如何用常量和变量来记录用户尝试登录的次数:
let maximumNumberOfLoginAttempts = 10var currentLoginAttempt = 0
这两行代码可以被理解为:
“声明一个名字是 maximumNumberOfLoginAttempts
的新常量,并给它一个值 10
。然后,声明一个名字是 currentLoginAttempt
的变量并将它的值初始化为 0
。”
在这个例子中,允许的最大尝试登录次数被声明为一个常量,因为这个值不会改变。当前尝试登录次数被声明为一个变量,因为每次尝试登录失败的时候都需要增加这个值。
你可以在一行中声明多个常量或者多个变量,用逗号隔开:
var x = 0.0, y = 0.0, z = 0.0
注意:
如果你的代码中有不需要改变的值,请使用let
关键字将它声明为常量。只将需要改变的值声明为变量。
类型标注
当你声明常量或者变量的时候可以加上类型标注(type annotation),说明常量或者变量中要存储的值的类型。如果要添加类型标注,需要在常量或者变量名后面加上一个冒号和空格,然后加上类型名称。
这个例子给 welcomeMessage
变量添加了类型标注,表示这个变量可以存储 String
类型的值:
var welcomeMessage: String
声明中的冒号代表着“是...类型”,所以这行代码可以被理解为:
“声明一个类型为 String
,名字为 welcomeMessage
的变量。”
“类型为 String
”的意思是“可以存储任意 String
类型的值。”
welcomeMessage
变量现在可以被设置成任意字符串:
welcomeMessage = "Hello"
你可以在一行中定义多个同样类型的变量,用逗号分割,并在最后一个变量名之后添加类型标注:
var red, green, blue: Double
注意:
一般来说你很少需要写类型标注。如果你在声明常量或者变量的时候赋了一个初始值,Swift可以推断出这个常量或者变量的类型,请参考类型安全和类型推断。在上面的例子中,没有给welcomeMessage
赋初始值,所以变量welcomeMessage
的类型是通过一个类型标注指定的,而不是通过初始值推断的。
常量和变量的命名
你可以用任何你喜欢的字符作为常量和变量名,包括 Unicode 字符:
let π = 3.14159let 你好 = "你好世界"let
- swift3.0 入门学习笔记之一 基础篇
- swift3.0 入门学习笔记之二 闭包
- Swift3.0从入门到放弃(四)-基础最终篇
- Swift3.0学习笔记-Functions
- Swift3.0学习笔记-Closures
- Swift3.0学习笔记-Initialization
- Swift3.0学习笔记-DeInitialization
- Swift3.0学习笔记-Extensions
- Swift3.0学习笔记-Protocols
- Swift3.0学习笔记-Generics
- Swift3.0 URLSession学习笔记
- Swift3.0 URLSession学习笔记
- Swift3.0学习笔记-Extensions
- jquery学习笔记之一二-------入门及基础核心
- 【Python学习笔记之一】基础篇
- Struts2入门学习笔记之一
- C#入门学习笔记之一
- phantomjs入门学习笔记之一
- qq第三方登录
- 最新版支付宝电脑网站支付原理及yii2中集成使用教程
- React.createElement: type is invalid -- expected a string (for built-in components) or a class/funct
- Iterator、Generator、async、await 异步编程
- 写一个函数,他的原型是 int continumax(char*outoutstr,char*intputstr).
- swift3.0 入门学习笔记之一 基础篇
- Android DatePicker,NumPicker解析(分割线颜色及调整大小)
- Dinic模板(最大流最小割)
- Ble分包发送
- 在Linux上安装TomCat
- Java 连接mysql数据库warn:Establishing SSL connection without server's identity verification is not ...
- PHP Input/Output缓冲区
- 论文阅读:Icml 2015 Batch Normalization
- java根据sessionId创建、删除session