class UserModel: NSObject {
// 类型一 参数可省略 直接给参数赋初值.这类函数参数在外部调用时,已赋初值的参数可直接省略,可以仅调用需要赋值的参数.
//
// 例 1. UserModel().test()
// 2. UserModel().test(name:"name")
// 3. UserModel().test(name:"name",location:"location")
// 注意: 如果一个类中出现多个以test命名但参数不同的函数时,直接调用test(),系统会因为无法识别函数而报错.
func test(name: String = "",age: Int = 0,location: String = "") {
}
// 类型二 参数 数量可变,你可以传入任意数量的参数
// 例 1. UserModel().test(numbers: 1,2,3)
// 2. UserModel().test(numbers: 1,2,3,4,5,6)
func test(numbers:Int ...) {
// 此时 numbers 类似于 [Int]()
for item in numbers {// 可以这么用
}
}
// 类型三 参数值可变 给参数添加 inout 前缀 后name可以被修改.
// 例 var name = ""// 传入的参数需要用 var 修饰.即必须为可变的.
// UserModel().test(name: &name)// 在函数中 传入的参数前要加 & (系统会自动加)
func test(name: inout String) {
name = "other name"
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结