美文网首页
Swift变量

Swift变量

作者: MemoryReload | 来源:发表于2018-07-10 00:53 被阅读33次

相关代码链接

Swift变量声明格式:keyword name:type

var str: String
let π: Double

一、关键字

关键字keyword,一共有两个:varlet,下面解释下两个关键字的用途:

  1. var 声明一个变量,变量的值是可以修改的。初始化之后可以多次重复的赋值,当前值为最后一次赋值的结果。
  2. let声明一个常量,类似于C/C++中的const关键值,表示这是一个常量,是不可修改的。初始化之后值不可以再被修改。

二、命名

Swift的变量名字符集得到了极大的扩充,不再受限于数字字母下划线,它几乎可以使用所有的Unicode字符集,也就是说变量名称可以是汉字、emoji等等。但是,有如下一些限制:

  1. 不能包含空格、数学符号、箭头、私用(无效的)Unicode代码点、行或边框绘制字符。
  2. 不能以数字开头

三、类型

Swift中,变量没有像OC中的基础类型(scalar)和对象(object)类型的区别,完全的面相对象,所有使用的数据类型都是对象。其中基础类型包括:Int 整形,Double实数型,Float浮点型,Bool布尔型,String字符串类型;集合类型(CollectionTypes)包括:Array数组类型、Set集合类型、Dictionary字典类型。这些类型和OC中的基础类型差不多,Swift有新增了一种基础类型:原组(tupe)。

注意:

  1. 变量单独声明,必须显式声明类型。此后类型不能再改变。示例:
var str1: String
var str12; //This will raise an error, cause doesn't declare the type
  1. 变量声明、初始化一次完成,则可以缺省类型声明,变量的类型为所赋值的类型。此后类型不能再改变。示例:
var str2: String="Hello Swift!"
str2="Hello guys!"
var str3="Hello Swift!"
str3=4 //This will raise an error, cause the type of  variable "str" is String, and it's unchangeable.
  1. 常量初始化完成之后,不能再被修改。示例:
let num:Int=4
num=5 //This will raise an error,cause let keyword means that the value of num can not be changed.
  1. Swift中,变量类型和nil不兼容,所以,如果一个变量值可能为空值,则应该将该变量的类型声明为可选类型(在变量的类型type之后添加)。可选类型在赋值或者作为参数传递给非可选类型时,需要对可选类型解包。解包的方式有两种:普通解包和强制解包(在变量名之后加上)。当被解包的可选变量值恰好为nil时,强制解包会引起一个运行时错误。示例:
var str4:String?
str4="Hello Swift!"
var str5:String
str5=str4 //This will raise an error,cause optional type should be unwrapped first before manipulation.
//unwrap
if let tmpStr=str4 {
    str5=tmpStr
}
//force to unwrap
str5=str4!
str4=nil
str5=str4!//This will raise an error, cause force unwrapping gtes a nil value.

相关文章

  • 初学Swift 小总结

    Swift 01 Swift最基本的语法变化 Swift 变量&常量 变量使用 let 定义常量,定义后的常量不能...

  • 我的Swift的学习总结 -->第一周

    为什么要学习Swift 变量和常量 Swift 变量 变量声明 变量的命名规则 如: 常量 运算符 算术运算符 关...

  • Swift笔记<一>常量变量及基本数据类型

    1.导入框架 OC Swift 2.常量与变量 OC中 Swift格式:变量 let 常量名称:[常量类型] ...

  • Swift学习 day1

    Swift学习 day1 声明变量 使用var进行变量声明: 使用let进行常量声明: 可选类型声明: Swift...

  • OC,Swift,JS,PHP,Java语法区别

    1、变量申明 OC:类型+变量名。例: NSString *string=@“例子”; Swift:var(变量)...

  • 3.常量及变量(const_variable)

    接下来呢,我们边对比边学习 常量 kotlin_常量: swift_常量 变量 kotlin_变量 swift_变...

  • swift2.1 新特性

    在 swift2.1 之前可以通过 ?? 来解包变量 在 swift2.1 之后可以通过 ! 来强解包变量 PS参...

  • swift初学

    swift会根据我们为变量的赋值自动推导变量的类型,这个特性,在swift中叫做Type inference va...

  • 0 swift 基础知识

    0.1 变量&常量 Swift 中常量用let变量用var 0.2 数据类型的转换 swift 是强语言, 不支持...

  • swift中问号?和叹号!

    Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是变量不会有默认值。所...

网友评论

      本文标题:Swift变量

      本文链接:https://www.haomeiwen.com/subject/xiuxpftx.html