01*:swift:常量、变量、字面量、基本数据类型、数组、字典、元组、类型推断、可选项
问题
目录
1: 常亮、变量、字面量
1:基本数据类型
2:可选项
预备
正文
一:let var 分号 空格 字面量
/* 快捷键 1: 代码格式化 快捷键:Ctrl+a全选->ctrl + i 格式化 */ import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view.
print("一:let var 分号 空格 字面量")
/* 一:创建变量和常量 1: var 创建变量 2: let 创建常量 */ // 1: var 创建变量 var myString = "字符串变量"; myString = "var 创建字符串变量"; print(myString); // 2: let 创建常量 let constString = "let 创建字符串常量"; print(constString); /* 二:标识符:驼峰命名法,大小写敏感 标识符就是给变量、常量、方法、函数、枚举、结构体、类、协议等指定的名字。 如果一定要使用关键字作为标识符,可以在关键字前后添加重音符号(`),例如: 注意:let `super` = "super字面量"; `super` 作为一个整体来当做变量,访问的时候,需要加上重音符号 */ let `super` = "super字面量-使用重音符号来包装"; print(`super`); /* 三:分号; Swift不要求在每行语句的结尾使用分号(;),但当你在同一行书写多条语句时,必须用分号隔开: 注意: 等号= 等号两侧的要么没有空白间隔符号,要么有空白间隔符号,尽量两个的空白间隔符号一样。 */ let oneLine = "一行写多个语句用分号隔开"; print(oneLine) /* 四:Swift 空格 运算符号两测需要用同样的空格 Swift语言并不是像C/C++,Java那样完全忽视空格,Swift对空格的使用有一定的要求,但是又不像Python对缩进的要求那么严格。 在Swift中,运算符不能直接跟在变量或常量的后面。例如下面的代码会报错:let constA= 1 + 2 报错:'=' must have consistent whitespace on both sides */ let spaceA = 1 + 2; print(spaceA); // 3 /* 五:字面量:swift可以自动识别属性类型。 所谓字面量,就是指像特定的数字,字符串或者是布尔值这样,能够直接了当地指出自己的类型并为变量进行赋值的值。 42 // 整型字面量 3.14159 // 浮点型字面量 "Hello, world!" // 字符串型字面量 true // 布尔型字面量 */ let intA = 42; print(type(of: intA)); // Int let floatB = 3.14159; print(type(of: floatB)); let stringC = "Hello world"; print(type(of: stringC)); let boolD = true; print(boolD);
print("一:let var 分号 空格 字面量")
}
}
打印结果:
一:let var 分号 空格 字面量 var 创建字符串变量 let 创建字符串常量 super字面量-使用重音符号来包装 一行写多个语句用分号隔开 3 Int Double String true 一:let var 分号 空格 字面量
二:基本数据类型
/* 2:基本数据类型、集合、元组、类型转换 */ func baseDataType () { let sex: Bool = false let age: Int = 33 let height: Float = 165.6 let weight: Double = 130.2349573409 let name: String = "zk" // 数组 let stringArray: [String] = ["\(sex)", "\(age)", "\(height)", "\(weight)"] // 字典 let stringDic: [String: String] = ["sex": "\(sex)", "age": "\(age)", "height": "\(height)", "weight": "\(weight)" ] // 元组(相当于简单的类和结构体) let personTuple = (sex1: sex, age1: age, height1: height, weight1: weight, name1: name) // 类型转换 let heightWeight = Double(height) + weight // Number let sexNumber = NSNumber(booleanLiteral: sex) let secondePrint = "2:【基本数据类型、集合、元组、类型转换】性别:\(sexNumber), 年龄:\(stringDic["age"] ?? ""), 姓名:\(personTuple.name1), 身高:\(stringArray[2]), 身高+体重:\(heightWeight)" print(secondePrint) titleText = titleText.appending("\n\(secondePrint)") titleLb.text = titleText }
三:可选项
// 可选项 func optionalTextFunction () { var companyName: String? // 可选项展开 if companyName != nil { print("公司的名字是:\(companyName!)") } else { print("请输入你公司的名字") } // 可选项绑定 companyName = "bd" if let myCompanyName = companyName { print("公司的名字是:\(myCompanyName)") } else { print("请输入你公司的名字") } if let companyName { print("新公司的名字是:\(companyName)") } else { print("请输入你公司的名字") } // 隐式可选项展开 let newompanyName: String! = companyName! if let newompanyName { print("新公司的名字是:\(newompanyName)") } }
注意
引用