当前位置: 首页 > news >正文

好的免费网站建站平台机票网站制作

好的免费网站建站平台,机票网站制作,wordpress前台注册登陆,电气工程及其自动化一、函数 1.1函数定义 使用 func 来声明一个函数,使用名字和参数来调用函数。使用 -> 来指定函数返回值的类型。 示例:拼接字符串 //有参数和返回值的函数 func append1(name : String, description : String) -> String {return "\(name)…
一、函数 

1.1函数定义


使用 func 来声明一个函数,使用名字和参数来调用函数。使用 -> 来指定函数返回值的类型。
示例:拼接字符串

//有参数和返回值的函数
func append1(name : String, description : String) -> String {return "\(name) is \(description)"
}//调用
append1(name: "Tony", description: "good")

运行结果:

 
默认情况下,函数会使用默认的参数名称作为参数标签,如果需要自定义参数标签,示例如下
"youName"和"youHabby"是自定义的标签

//在参数名称前自定义参数标签
func CustomParameterLabels(youName name : String, youHabby habby : String) -> String {return "\(name)'s hobbies is \(habby).(Custom parameter labels)"
}CustomParameterLabels(youName: "Tony", youHabby: "cutting hair")

运行结果:

如果不想使用传输标签,可以使用"_“来实现

//不使用参数标签,可以使用"_"来表示
func NoneParameter(_ name : String, habby : String) -> String {return "\(name)'s hobbies is \(habby).(Parameter-free labels)"
}NoneParameter("Tony", habby: "cutting hair")

运行结果:
 

 如果函数需要返回多个值,可以使用元组来实现。示例
这里返回多个值没有参数标签

func getMultipleValues() -> (Int, String, Bool) {return (42, "Hello", true)
}// 调用示例
let result = getMultipleValues()

运行结果:

 如果需要返回的多个值是有标签的,参考如下:

//返回带参数标签的多个值
func getMultipleValues() -> (minScore : Int, maxScore : Int, totalScore : Int) {return (42, 99, 141)
}// 调用示例
let result = getMultipleValues()print(result.0)
print(result.minScore)

运行结果:

1.2函数嵌套,复合使用 

函数内可以继续嵌套函数来处理较长或者复杂的实现。示例;

//整数转字符串
func IntToString(score : Int) -> String {//加多十分func toString(score : Int) -> Int{var score = score + 10return score}var newScore = toString(score: score)return "\(newScore)"
}IntToString(score: 90)

运行结果:
 

函数也可以当做返回值,使用示例如下:
 

func addScore() -> ((Int) -> Int) {//加多十分func addTenScore(score : Int) -> Int{return score + 10}return addTenScore
}//调用,返回一个函数
var myFunc = addScore()
//调用这个函数
myFunc(80)

函数也可以作为参数传入。如下
 

func hasAnyMatches(list: [Int], condition: (Int) -> Bool) -> Bool {for item in list {if condition(item) {return true}}return false
}
func lessThanTen(number: Int) -> Bool {return number < 10
}
var numbers = [20, 19, 7, 12]
hasAnyMatches(list: numbers, condition: lessThanTen)
1.3闭包


闭包(Closure)是一块自包含的代码,可以在代码中被传递和使用。闭包可以捕获和存储其所在上下文中的变量和常量的引用

闭包的基础语法:
​​​​​​​

// 闭包的基本形式
{ (parameters) -> returnType in// 闭包的实现代码
}
  • parameters 是闭包的输入参数(可以为空)。
  • returnType 是闭包的返回值类型(可以省略,Swift 会推断)。
  • in 关键字分隔了闭包的参数和实现代码。

简单闭包的实现:
 

// 一个简单的闭包,接收两个整数,返回它们的和
let add: (Int, Int) -> Int = { (a, b) inreturn a + b
}// 使用闭包
let result = add(3, 5)
print(result)  // 输出 8

闭包捕获值
 

func makeIncrementer(incrementAmount: Int) -> () -> Int {var total = 0let incrementer: () -> Int = {total += incrementAmount  // 捕获 incrementAmount 和 totalreturn total}return incrementer
}let incrementByTwo = makeIncrementer(incrementAmount: 2)
print(incrementByTwo())  // 输出 2
print(incrementByTwo())  // 输出 4

在这个例子中,incrementByTwo 捕获了 incrementAmount 和 total,每次调用 incrementByTwo() 时,total 都会增加 2。

闭包作为函数参数
闭包常常用作函数的参数,特别是在处理异步操作、回调等情况时,在网络请求中用的最多。例如:
​​​​​​​

func fetchData(completion: @escaping (String) -> Void) {// 模拟网络请求DispatchQueue.global().async {// 模拟延迟Thread.sleep(forTimeInterval: 2)DispatchQueue.main.async {completion("数据加载完成")}}
}fetchData { data inprint(data)  // 输出 "数据加载完成"
}

使用闭包时管理好对外部对象的引用.

http://www.yayakq.cn/news/603658/

相关文章:

  • 肯德基网站建设方案商务网站建设期末作业
  • 网站开发工程师和软件工程wordpress音乐主题汉化
  • 网上购物网站开发开题报告想做设计师需要学什么
  • 新都网站开发中国的网站域名是什么
  • 大型网站设计网站wordpress 写php页面
  • 成考过来人的忠告上海做网站优化哪家好
  • 网站开发营业执照上海住房城乡建设网站
  • 广西建设厅官方网站文件通知太原网站seo服务
  • seo关键词推广方式合肥做网站优化公司
  • 盐城营销网站建设平台网站建设需要什么技术
  • 天津网站制作套餐网站建设课程小结
  • 游戏网站开发具备c 网站开发面试题
  • 莆田企业网站建设保险网
  • 手机怎样建立网站网址大全qq浏览器
  • 360安全网站怎么做号码认证音乐网站开发思路
  • 泰州做网站的太原网站建设公司哪家好
  • 厦门网站流量优化价格星斗科技 网站建设
  • 赶集网网站建设ppt模板微商怎么加好友增加大量客源
  • 太原做网站要多少钱呢湖北省建设工程人力资源网站
  • 广州市财贸建设开发监理网站在线阅读 wordpress主题
  • 装饰公司网站如何做推广网页设计师任职资格
  • 网站开发毕业设计说明创建网站时间代码
  • 人社系统网站一体化建设方案无忧网站模板
  • 网站开发招聘信息门户网站 移动端
  • 公司网站域名解析谁来做网站建设品牌公司哪家好
  • 可以进行网站外链建设的有高端的咨询行业网站策划
  • 怀远做网站电话成功的门户网站
  • 个人备案的网站能做盈利吗wordpress5.0不能发布文章
  • 温州网站建设费用农民工找活平台
  • easyui做网站seo网站推广首页排名