Swift中常用的数据类型

前端之家收集整理的这篇文章主要介绍了Swift中常用的数据类型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Swift中数据类型及用法

1、Swift中常用的数据类型有:
Int、Float、Double、String 、Bool、Character、Array、Dictionary、元组类型、可选类型

2、如何指定变量、常量的数据类型
在常量、变量名后面加: 类型名称

var name:String = "android_ls"
var age:Int = 28

一般来说没必要指定变量、常量的数据类型,在声明常量、变量时赋予初始值,Swift可以自动推断出这个变量、常量的数据类型。

我们来看下面这行代码
var age = 28
Swift会推断出age是Int类型,因为28是个整数

3、Swift严格要求变量在使用前必须进行初始化,下面的代码错误

Swift是强类型的语言,任何一个变量或者常量都有明确的类型。

4、整数
* 整数分为两种:
有符号(signed):正、负、零
无符号(unsigned):正、零
Swift提供了8、16、32、64的有符号和无符号整数(Int8、Int16、Int32、Int64、UInt8、UInt16、UInt32、UInt16),比如
UInt8 :8位无符号整型
Int8:8位有符号整型

  • 获取Int最值:(最大值、最小值)
var minValue = Int.min;
var maxValue = Int.max;

Int、UInt : 和平台相关(默认,相当于OC的NSInteger)

  • 在定义变量时,别总是在考虑有无符号、数据长度的问题,尽量使用Int,这样可以保证代码的简洁和可复用性。

  • 存储范围:
    每种数据类型都有各自的存储范围,比如
    Int8的存储范围:-128~127
    UInt8的存储范围:0~255

    在Swift中,如果数值超过了存储范围,编译器会直接报错,下面的语句都会直接报错。

  • 整数的四种表现形式:
    十进制数:没有前缀
    let a1 = 10
    二进制数:以0b为前缀
    let a2 = 0b1010
    八进制数:以0o为前缀
    let a3 = 0o12
    十六进制数:以0x为前缀
    let a4 = 0xA

5、浮点数
* Swift提供了两种浮点数类型:
Float: 32位浮点型
Double : 64浮点型(默认)
* 精确度:
Float: 至少6小数
Double : 至少15小数
* 浮点数的声明

let a:Float = 3.232
let b:Double = 3.1415926
  • 如果没有明确的说明浮点数的类型,默认是Double类型的。
    FloatDouble类型的变量不能直接进行运算操作,如下

    <code></p>Float</code>和<code>Double</code>类型的变量不能直接进行运算操作

  • 浮点数的表现形式:
    十进制(没有前缀)
    没有指数:let a1 = 12.7 // 12.7
    有指数:let a2 = 0.127e2 // 12.7

0.127e2 = 0.127 * 10的二次方 MeN = M * 10的N次方

十六进制(以0x为前缀,且一定有指数)

let a3 = 0xA // 10
let a4 = 0xAp1 // 10 * 2的1次方 == 10 * 2
0xMpN = 0xM * 2N次方

6、数字格式(增加额外的0和下划线并不会影响数值原来的大小
数字可以增加额外的格式,使其更容易阅读
* 可以增加额外的0

let money1 = 001988
let money2 = 001988.000
let money3 = 100_0000
let money4 = 100_000_000

示例效果图如下:

7、Swift中基本运算,数据类型转换
整数和浮点数支持的运算:+、-、*、/、%

在进行基本运算时必须保证类型一致,否则会出错。

8、类型别名
* 使用typealias关键字定义类型的别名

// 给Int类型起个别名叫BoloInt typealias BoloInt = Int

原类型名称能用在什么地方,别名就能用的什么地方

  • 声明变量、常量
var a:BoloInt = 23
let b:BoloInt = 27
  • 获得类型的最值
let minValue = BoloInt.min
  • 类型转换
let result = BoloInt(3.1416)
原文链接:https://www.f2er.com/swift/323993.html

猜你在找的Swift相关文章