• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Swift 基础语法 - 数据类型

武飞扬头像
假装自己很用心
帮助1

变量

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

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
系列文章
更多 icon
同类精品
更多 icon
继续加载