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

swift入门第一章常量、变量

2015-06-23 13:40 435 查看

1.常量和变量

与C、OC不同的是,swift用let定义常量,用var定义变量。

如下例:

let a = 5

var b = 10

这里a代表常量5,一旦被定义,它的值就不能被修改。b代表变量10,它可以被修改。如:

我们可以把b重赋值为20

b = 20

2.在同一行中定义多个常量或者变量

var x = 5, y = 6, z = 7
let a = "a", b = "b", c = "c", d = "d"


同时打印多个对象

println((x, y, z, a, b, c, d))


3.类型标注

声明了一个String类型的变量名字叫做nameString

var nameString: String
nameString = "abcdefg"
println((nameString))


常量

let count: Int
count = 10
println((count))


变量

var number: Int
number = 20
println((number))
number = 5
println((number))


4.常量、变量的命名(不能以数字开头,可以放在中间或结尾)

let x = "zxcv"
let _name = "name"
println((x))


5.输出常量和变量

使用字符串插值的方式,把当前变量名当做占位符加入到字符串中,然后加上括号和反斜杠将其转义输出

用 \()来拼接字符, \后不能加空格

var juiceName = "apple Juice"
println("I Love \(juiceName)")
var iosDevice = "iphone6"
println("I want a \(iosDevice)")


6.注释

//单行注释
/*
多行注释(OC中不允许下面的多行嵌套注释)
*/

/*
这是第一个多行注释的开头
/*
这是第二个多行注释的开头

这是第二个多行注释的结尾
*/
这是第一个多行注释的结尾
*/


7.分号(默认不添加)

在一行中需要添加多个独立语句的时候必须要添加分号

var d = "dog"; println(d)
let abc = 10; println((abc))


8.整数(8,16,32,64位 有符号和无符号整数)

Int8.min 与 INT8_MIN一样
Int8.max 与 INT8_MAX一样


8位有符号整数

let minInt8 = Int8.min//最小值
let maxInt8 = Int8.max//最大值
println((minInt8, maxInt8))


8位无符号整数

let minUInt8 = UInt8.min
let maxUInt8 = UInt8.max
println((minUInt8, maxUInt8))


16位有符号整数

let minInt16 = Int16.min//最小值
let maxInt16 = Int16.max//最大值
println((minInt16, maxInt16))


16位无符号整数

let minUInt16 = UInt16.min
let maxUInt16 = UInt16.max
println((minUInt16, maxUInt16))


32位有符号整数

let minInt32 = Int32.min//最小值
let maxInt32 = Int32.max//最大值
println((minInt32, maxInt32))


32位无符号整数

let minUInt32 = UInt32.min
let maxUInt32 = UInt32.max
println((minUInt32, maxUInt32))


64位有符号整数

let minInt64 = Int64.min//最小值
let maxInt64 = Int64.max//最大值
println((minInt64, maxInt64))


64位无符号整数

let minUInt64 = UInt64.min
let maxUInt64 = UInt64.max
println((minUInt64, maxUInt64))


9.Float(精确到小数点后5位)

var π : Float
π = 3.1415926
println((π))


10.Double(精确到小数点后14位)

var π1 : Double
π1 = 3.1415926535897932384626433832795028841971
println((π1))


11.类型安全

自动推断成string类型(以后赋值只能用string类型)

var str = "iphone"


自动推断成Int类型(以后赋值只能用Int类型)

var value = 42


12.类型推断(推断浮点型时总是推断成Double类型)

自动推断成Double类型

let pi = 3.1415926
let psdu = 5 + 1.45354


13.数值类型转换

let value1: UInt16 = 3200
let value2: UInt8 = 7


两种不同数值类型不能直接进行相加的操作,因为类型不匹配

错误:let value3 = value1 + value2

let value3 = value1 + UInt16(value2)
println((value3))


14.类型别名

给现有类型起一个更有意义的名字

Int默认代表64位有符号整形

typealias audioSample = Int
let maxValue = audioSample.max
println((maxValue))


15.Bool类型

let haha = true
let heihei = false
if haha {
println(haha)
}
if !heihei {
println(heihei)
}


16.元组数据的访问方式

let http404Error = (404, "Not Found")
let (messageCode, message) = http404Error
println("this is status code \(messageCode)")
println("this is status message \(message)")


通过下标访问

println("this is status code \(http404Error.0)")
println("this is status message \(http404Error.1)")


如果只需要一部分元组,分解的时候可以把要忽略的部分用_标记

let (justNeedStatusCode, _) = http404Error
println("this is status code \(justNeedStatusCode)")

let http200Status = (statusCode: 200, message: "ok")
println("this is status \(http200Status.0)")
println("this is status \(http200Status.message)")


17.可选类型

let possableNumber = "123a"


converNumber被推断为”Int?”或者是Optional Int

let converNumber = possableNumber.toInt()
println((converNumber))
if let number = possableNumber.toInt() {
println("\(possableNumber) has an integer value of \(number)")
} else {
println("\(possableNumber) could not convered integer")
}


18.断言

let age = -3
assert(age >= 0, "A person's age could not be less than zero")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: