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) | 枚举(enum) | Optional |
结构体(struct) | Bool、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)")
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgcbcfk
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01