Swift 基础语法 - 数据类型

变量

类型推导:编译器在编译的时候,通过提供的初始化的值,自动推导出特定的表达式的值

var myVariable = 42 //编译器自动推导其类型为Int
myVariable = 50     //变量多次赋值的时候需要保证值的类型是相同的
print(myVariable)
  • 变量多次赋值的时候需要保证值的类型是相同的
    在这里插入图片描述

常量

  • 只能赋值一次(常量不能被二次修改)
  • 它的值不要求在编译时期确定,但使用之前必须赋值一次

显示声明类型,语法:“变量:类型”

let num1 = 10

let num2: Int
num2 = 20

func getNum() -> Int{
    return 30
}

let num3 = getNum()

在这里插入图片描述
下面代码是错误的(给不明确类型赋值会报错
在这里插入图片描述

  • 常量、变量在初始化前,都不能使用(Swift 不会自动给变量赋初始值,也就是说变量不会有默认值,所以使用前必须初始化)
    在这里插入图片描述

标识符

  • 标识符(比如常量名、变量名、函数名)几乎可以使用任何字符
  • 标识符不能以数字开头,不能包含空白字符、制表符、横线、箭头等特殊字符
func 🆚 (){
    print("v587")
}

🆚()

let 🐂 = "牛"

var 🐷 = "猪头"

在这里插入图片描述
在这里插入图片描述

常见数据类型

Swift 中是没有基本数据类型概念的,只有值类型与引用类型。

常见数据类型
值类型(value type)枚举(enumOptional
结构体(structBool、Int、Float、Double、Character
String、Array、Dictionary、Set
引用类型(reference type)类(class
  • 整数类型: Int8、Int16、Int32、Int64、UInt8、UInt16、UInt32、UInt64
  • 在32bit平台,Int等价于Int32;在64bit平台,Int等价于Int64
  • 整数的最值:UInt8.max、Int16.min
  • 一般情况下,都是直接使用Int即可
  • 浮点类型:Float,32位,精度只有6位;Double,64位,精度至少15位

在这里插入图片描述

字面量

  • 布尔
//布尔
let bool1 = true //取反是false
let bool2 = false
  • 字符串
//字符串
let string = "CSDN"
  • 字符(必须声明是Character类型,默认是字符串)
//字符(可存储ASCII字符、Unicode字符)
let character :Character = "🦆"
  • 整数
//整数
let intDecimal = 16 // 十进制
let intBinary = 0b10000 // 二进制
let intOctal = 0o20 // 八进制
let intHexadecimal = 0x10 // 十六进制

在这里插入图片描述

  • 浮点数
//浮点数
let doubleDecimal = 314.15 // 十进制,等价于 3.1415e2
let doubleDecimal1 = 3.1415e2
let doubleHexadecimal1 = 0xFp2 // 十六进制,意味着15x2^2,相当于十进制的 60.0
let doubleHexadecimal2 = 0xFp-2 // 十六进制,意味着15x2^-2,相当于十进制的3.75
//以下都是表示 3.1875
//十进制:3.1875、0.31875e1
//十六进制:0x3.3p0

在这里插入图片描述

整数和浮点数可以添加额外的零或者添加下划线来增强可读性
100_0000、1_000_000.000_0001、000789.245
在这里插入图片描述

  • 数组
let array = [1,2,3,4,5,6,8,9]
  • 字典
let dictionary = ["width" : 30, "height" : 40, "depth": 50]

类型转换

  • 整数转换
//整数转换
let int1: UInt16 = 1_000
let int2: UInt8 = 2
let int3 = int1 + UInt16(int2)
  • 整数、浮点数转换
//整数、浮点数转换
let int = 4
let double = 3.14159
let num = Double(int) + double
let intNum = Int(num)

字面量可以直接相加,因为数字字面量本身没有明确的类型

let rs = 3 + 1.14159

元组(Tuple)

let http404Error = (404, "Not Found")
print("The status code is \(http404Error.0)")

let (statusCode, StatusMsg) = http404Error
print("The status code is \(statusCode)")

let (justTheStatusCode, _) = http404Error
print("The status code is \(justTheStatusCode)")

let http200Status = (statusCode:200,des:"OK")
print("The status code is \(http200Status.statusCode)")

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

假装自己很用心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值