import Foundation
print("Hello, World!")
/**************32、枚举**************/
//1.枚举语法
enum Point {
case x
case y
}
//2.使用 switch 语句匹配枚举值
let po = Point.y
switch po {
case .x :
print("x")
case .y:
print("y")
}
//3.枚举原始值
enum Bounds : Int {
case width = 10
case height = 30
}
print(Bounds.width.rawValue)
//4.枚举原始值的隐式赋值
enum Char : Int {
case a = 1,j,o,i,y,z
}
print(Char.i.rawValue)
//5.使用原始值初始化枚举实例
let cc1 = Char.init(rawValue: 4)
print(cc1!)
/***************33、类和结构体**************/
//1.类和结构体的语法定义
//类的定义
class Person {
//声明属性:必须赋予初始值
var name = ""
var age : Int = 1
//在类里面声明一个结构体类型的属性:结构体的对象必须初始化
var frame : Frame = Frame.init()
}
//结构体的定义
struct Frame {
//声明属性:必须赋予初始值
var point : Int = 1
var rect : Int = 1
}
//2.类和结构体实例
//类的实例化
var person1 = Person.init()
//结构体的实例化
var frame1 = Frame.init()
//3.访问属性
//类访问属性
person1.name = "wo"
//结构体访问属性
frame1.rect = 3
print(person1.name)
//4.类和结构体的混合应用
person1.frame.point = 44
//5.结构体类型的成员逐一构造器,类不存在逐一构造器
let frame2 = Frame.init()
let frame3 = Frame.init(point: 3, rect: 8)
let person2 = Person.init()
//6.结构体是值类型 : 值类型的特点:当用一个值类型的对象给另一个对象赋值时,系统执行的是拷贝操作
var frame4 = Frame.init(point: 10, rect: 20)
var frame5 = frame4
frame4.point = 100
frame5.point = 800
print(frame4.point,frame5.point)
//7.类是引用类型 : 引用类型的特点:当用一个引用类型的对象给另一个对象赋值时,系统只是做了指针指向的改变,内存中没有拷贝
var person3 = Person.init()
person3.age = 200
var person4 = person3
person3.age = 600
person4.age = 800
print(person3.age, person4.age)
//8.恒等运算符 : 只能判断两个由类创建的对象是否相同 ===
if person3 === person4 {
print("相同")
}else{
print("不同")
}
Swift-基础-4
最新推荐文章于 2024-04-18 12:11:24 发布