这篇文章主要介绍Swift基本数据类型有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
Swift 基本数据类型
var intType: Int = 11 print(intType) // 11
var floatType: Float = 3.14e3 // 10进制中,e表示10的n次方,3.14 * (10^3) = 3140.0 print(floatType) // 3140.0 var floatType2: Float = 0x2p3 // 16进制中,p表示2的n次方,2 * (2^3) = 16.0 print(floatType2) // 16.0
var boolType = true // or false print(boolType) // true
允许不相关的类型自由组合为新的集合类型
// 定义元组,指定参数名称 var person: (name: String, age: Int) = ("William", 18) print("name:", person.name, ", age:", person.age) // name: William , age: 18 // 元组不指定参数名称,只指定类型 var city: (String, Int) = ("Shanghai", 200000) // 使用下标访问 print(city.0, city.1) // Shanghai 200000 // 分解元组 var (name, code) = city print(name, code) // Shanghai 200000
对普通类型进行 Optional 包装,实现对空值情况的监控。类似于 Kotlin 中可空类型的处理,即在类型或实例后面加不加问号。
如果是在实例后加问号,相当于是在调用实例时,对实例的值的空校验
如果是在类型后加问号,相当于是指定当前变量值可为空 nil
// 单个 Optional 绑定,if-let 结构 var obj: String? = "Wuhan" if let temp = obj { // 当 obj 不为 nil 时,将 obj 赋值给 temp print("hello", temp) // hello Wuhan } else { // 否则重新为 obj 赋值 obj = "hello, if-let" print(obj) } // 多个 Optional 绑定 var obj1:Int? = 1 var obj2:Int? = 2 if let temp1 = obj1, let temp2 = obj2, temp1 < temp2 { // 当全部不为 nil 且满足子句 temp1 < temp2 print(temp1, temp2) // 1 2 } else { print("obj1 or obj2 may be nil") } // Optional,可空,需要拆包 var obj4:Int? obj4 = 3 // 编译异常,没有进行拆包 // print(obj4 + 1) // 以下会自动拆包 var obj5:Int! // or Int obj5 = 3 print(obj5 + 2) // 5
类型别名,灵活使用可以优化代码的可读性
// 为 String 类型指定别名 Weight,后续可以像使用 String 一样使用 Weight typealias Weight = String var weight:Weight = "50kg" print(weight) // 50kg
// 自动推断类型 var a = 10, b:Int = 20, c = "hello swift" print(a, b , c) // 10 20 hello swift // 在数值前可加 0 进行位数填充,可加入下划线,增加可读性 var number1 = 001.234 // 1.234 var number2 = 1_234 // 1234 // 打印多个值使用逗号分隔 print(number1, number2) // 1.234 1234 // 二进制 var type_2 = 0b01 // 八进制 var type_8 = 0o02 // 十进制 var type_10 = 3 // 十六进制 var type_16 = 0x04 print(type_2, type_8 , type_10, type_16) // 1 2 3 4
以上是“Swift基本数据类型有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。