美文网首页
Swift5.0 小马哥_01基本语法

Swift5.0 小马哥_01基本语法

作者: MR_詹 | 来源:发表于2020-12-23 06:23 被阅读0次
print(“helllo world”)
  • 不用编写main函数,Swift将全局范围内的首句可执行代码作为程序入口
  • 一句代码尾部可以省略分号(;),多句代码写到一行时必须用分号(;)隔开
  • var定义变量let定义常量,编译器能自动推断出变量和常量的类型
let a = 10 
let b = 20
var c = a + b
c += 30

常量

  • 只能赋值1次
  • 它的值不要求在编译时期确定 ,但使用之前必须赋值1次
  • 常量、变量在初始化之前,都不能使用
/// 这是正确的写法
/// 以下两种也是正确的写法
/// let age = 10
/// let age:Int = 10 
let age:Int
age = 10

/// 这是错误的写法
/// 因为常量不能再没有声明类型的时候,赋值
let age
age = 10
/// 不要求在编译时期确定其值
func getAge() -> Int {
  return 10
}

let age = getAge()
print(age)
/// 在初始化之前,不能被使用
let age:Int
var height:Int
/// 以下编译时都会报错
print(age)
print(height)

标识符

标识符(比如常量名、变量名、函数名)几乎可以使用任何字符
标识符不能以数字开头,不能包含空白字符、制表符、箭头等特殊字符

常见的数据类型

  • 值类型(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、UInt8.min
一般情况下,都是直接写Int即可

浮点类型:
Float,32位,精度只有6位
Double,64位,精度至少15位

let letFloat: Float = 30.0
let letDouble = 30.0

字面量

/// 布尔类型
let bool = true

/// 字符串
let String  = "hahahaha"

/// 字符
let chat:Character = "a"

/// 整数
/// 十进制
let intDecimal = 17  
/// 二进制
let intBinary = 0b1001
/// 八进制
let intOctal = 0o21
/// 十六进制
let intHexadectmal = 0x11

/// 浮点类型
/// 十进制,等价于1.25e2
/// 0.0125 等价于1.25e-2
let doubleDecimal = 125.0
/// 十六进制,意味着15x2^2,相当于十进制的60.0
let doubleHexadecimal1 = 0xFp2
/// 十六进制,意味着15x2^-2,相当于十进制的3.75
let doubleHexadecimal2 = 0xFp-2

/// PS:整数和浮点数可以添加额外的零或者下划线来增加可读性
/// 100_0000、1_000_000.000_000_1、000123.456

/// 数组
let array = [1,3,5,7,9]

/// 字典
let dictionary = ["age":18,"height":168,"weight":120]

类型转换

/// 整数转换
/// Int1 和 Int2 不能直接相加,因为它们的数据类型不同
let Int1:Uint16 = 2000
let Int2:UInt8 = 1
let Int3 = Int1 + UInt16(Int2)

/// 整数、浮点数转换
let int = 3
let double = 0.14159
let pi = Double(int) + double
let intPi = Int(pi)

/// 字面量可以直接相加,因为数字字面量本身没有明确类型
let result = 3 + 0.14159

元组

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

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

/// _ 表示忽略其值
let (justTheStatusCode,_) = http404Error

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

相关文章

网友评论

      本文标题:Swift5.0 小马哥_01基本语法

      本文链接:https://www.haomeiwen.com/subject/xzuenktx.html