您的位置:首页 > 移动开发 > Swift

swift 常量、变量

2016-01-12 18:41 274 查看
// 使用 let
来定义常量,使用 var 来定义变量。

let number =78//常量只可赋值一次(常量的值是不能改变的)
varmyvalue =45//变量(变量的值是可改变的)

// 可以在一行中声明多个常量或多个变量,由逗号分隔:

var x = 0.0, y =0.0, z =0.0

// 可以为常量或变量添加类型标注,这样就清楚常量或变量可以存储的值的类型(或者没有初始值),可以在变量名后指定类型,以冒号分割。
let numberlet:Double
=78

var numbervar:String//表明它只可以存储 String类型的值

//值永远不会隐式地转化为其他类型。如果你需要转化值的类型,必须显式地创建一个你想要的类型实例。
letlabelString="this
is a label"
letnumberWidth=30
letlabelWidth = labelString +String(numberWidth)
println(labelWidth)

// 还有一种非常简便的方法,在字符串里添加值:在圆括号中书写值,并且在括号前添加反斜线(\)
letlabelWidthString ="this is a ...
\(number + my value)"

// let labelWidthString = "this is a ... \(labelString)"

println(labelWidthString)

// println 是一个全局函数,输出值并且换行,如果你用 Xcode, println将输出在 Xcode的“console”(控制台)中。(另一个函数
print,功能相同,区别是不会换行)

println("This is a string")

print("This is a string")

// 不同于许多其他语言,Swift不要求为每个语句的结尾处加一个分号( ; ),尽管你可以这样做(如果你愿意)。

// 但是,如果你想在一行中写多个独立的语句时,分号是必需的。

let cat = "miao";println(cat)

// 如果给一个常量赋值20,但没有标明类型,Swift
可以推测出常量类型是Int

// 如果不指定一个常量为浮点类型,Swift
推断出你想要的是Double类型

// 如果你把整数和浮点数同时用在表达式中,Swift
会推测为Double 类型:

// 整数字面值可以写为:

// 一个十进制数,没有前缀

// 一个二进制数,前缀是 0b

// 一个八进制数,前缀是 0o

// 一个十六进制数,前缀是 0x

// 下面的所有整数面值的十进制值都是17:

let dInteger = 17

let bInteger = 0b10001

let oInteger = 0o21

let hInteger = 0x11

// 浮点数面值可以是十进制(没有前缀),或者是十六进制(0x前缀)。必须有至少一个十进制数字(或十六进制数)在小数点两侧。

//

// 浮点数面值还有一个可选的指数(exponent),在十进制浮点数中通过大写或者小写的e来表示,在十六进制浮点数中通过大写或者小写的p来表示。

// 如果一个十进制数的指数为exp,那这个数相当于基数和10^exp(10的exp次方)的乘积:

// 1.25e2 表示 1.25×10^2,等于 125.0

// 1.25e-2 表示 1.25×10^-2,等于 0.0125。

// 如果一个十六进制数的指数为exp,那这个数相当于基数和2^exp(2的exp次方)的乘积:

// 0xFp2 表示 15×2^2,等于 60.0。

// 0xFp-2 表示 15×2^-2,等于 3.75。

//

// 下面的这些浮点字面量都等于十进制的12.1875

let dDouble = 12.1875

let eDouble = 1.21875e1

let hDouble = 0xC.3p0

// 数值类面值可以包括额外的格式来增强可读性。整数和浮点数都可以添加额外的零并且包含下划线,这不会影响字面量:

let pDouble = 0003333.42556

let oMillion = 1_000_000

let jMillion = 1_000_000.000_000_1

// 整数和浮点数转换

let t = 6

let pNine = 0.245436

let pbi = Double(t) + pNine

let inPi = Int(pbi)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: