1、Swift入门学习笔记(第一版),对Swift的基础知识点进行梳理总结。知识点一直在变,只是作为参考,以苹果官方文档为准~
2、在学习完基本的知识点以后会结合官方文档,在此版本的基础上进行添加更改。
一、基本入门
1、可以与C语言,OC语言混编,无缝兼容
2、允许多行注释,而C,OC等语言中是不允许的
/* 第一层注释 /* 第二层注释 */
*/
3、分号的使用
a、单行分号可有可无
b、多个语句处同一行,需要分号
print(@H_301_30@"Hello1");print(@H_301_30@"Hello2")
4、变量:使用var来声明
var只是声明变量,但是并没说明testVar的类型,但是编译器存在类型推导行为。根据10的类型推到testVar的类型为int类型
类型推导:编译器在编译的时候,通过你提供的初始化的值,自动推导出特定的表达式的值
var testVar = 10 //类型推到testVar类型为Int
print(testVar)
testVar = 20
//testVar = 20.2 //变量多次赋值是要保证值得类型是相同的
print(testVar)
//Swift中不会自动给变量赋初值,变量不会有默认值,因此在使用变量前必须对其初始化
//var testVar1 //报错,需要赋值
//print(testVar1)
注意点——多次赋值会报错
5、常量 :使用let来声明
显示声明类型
语法:“变量:类型”
//常量:不能二次修改
let testConstant = 1
//显示声明类型 语法:“变量:类型”
let testDouble:Double = 2.18
let testInt:Int = 218
6、命名规则
Swift中可以使用几乎任何字符来作为常量和变量名,包括Unicode。但是不能含有数学符号、箭头、无效的Unicode、横线-、制表符、且不能以数字开头
Output:
7、整型的表现形式
十进制:不带前缀
二进制:0b
八进制:0o
十六进制:0x
let int10 = 12
let int2 = 0b1001
let int8 = 0o22
let int16 = 0x10
print(int10,int2,int8,int16) print(UInt8.min,UInt8.max)
Output:
12 9 18 16 0 255
8、typealias:类似typedef,关键之定义类型别名
typealias test = Int //Int别名为test
var testValue:test = 12
print(testValue)
9、布尔类型
let ManIsHuman = true
let HumanIsMan:Bool = false
print(ManIsHuman,HumanIsMan)
Output:
true false
10、字符串的简单使用
let dateQuestion = @H_301_30@"The month is "
let dateNum = 10
//var dateStr = dateQuestion + dateNum //swift不支持隐式类型转换,需要显式
//字符串之间可以相加
var dateStr = dateQuestion + String(dateNum) //显式类型转换
dateStr += @H_301_30@" bingo"
print(dateStr)
let Month = 10
let day = 19
let date = @H_301_30@"今天是 \(Month)月\(day)日" //在OC中需要用%传入值,而swift不用
print(date)
Output:
The month is 10 bingo
今天是 10月19日