Swift,初始化
1、class中的值是没办法不赋值,不然会报错,那么就有个init的方法初始化(这个方法使得实例时必须加上参数)
1 2 3 4 5 6 7 8 9 10 11 | class test { var a : String var b : Int init ( a : String , b : Int ){ self . a = a //self代表这个class本身 self . b = b } } var c = test ( a : "好" , b : 0 ) print ( c . a ) //好 print ( c . b ) //0 |
2、struct结构体中是不需要init初始化的
1 2 3 4 5 6 7 | struct test { var a : String var b : Int } var c = test ( a : "好" , b : 0 ) print ( c . a ) //好 print ( c . b ) //0 |
3、设定默认值的初始化(输出初始值则输出初始值没有则获取默认值)
1 2 3 4 5 6 7 8 9 10 11 | class test { var a : String init ( a : String ){ self . a = a } convenience init (){ self . init ( a : "是" ) } } var c = test () print ( c . a ) //是 |
4、可失败初始化(如果a是空则返回nil,如果不空则把a导入a)
1 2 3 4 5 6 7 8 9 10 | class test { var a : String init ?( a : String ){ if a . isEmpty { return nil } self . a = a } } var c = test ( a : "" ) //nil |
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
2016-09-21 移动前端头部mete