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

宁波正规网站建设方式网站免费高清素材软件

宁波正规网站建设方式,网站免费高清素材软件,做网站常用的软件,南京网站网站建设一个朴实无华的目录 今日学习内容:1.Swift 闭包1.1闭包定义1.2闭包实例1.3闭包表达式1.3.1sorted 方法:据您提供的用于排序的闭包函数将已知类型数组中的值进行排序。1.3.2参数名称缩写:直接通过$0,$1,$2来顺序调用闭包的参数。1.3.3运算符函…

一个朴实无华的目录

  • 今日学习内容:
    • 1.Swift 闭包
      • 1.1闭包定义
      • 1.2闭包实例
      • 1.3闭包表达式
        • 1.3.1sorted 方法:据您提供的用于排序的闭包函数将已知类型数组中的值进行排序。
        • 1.3.2参数名称缩写:直接通过$0,$1,$2来顺序调用闭包的参数。
        • 1.3.3运算符函数
      • 1.4尾随闭包:书写在函数括号之后的闭包表达式
      • 1.5捕获值:嵌套函数可以捕获其外部函数所有的参数以及定义的常量和变量。

今日学习内容:

1.Swift 闭包

1.1闭包定义

闭包(Closures)是自包含的功能代码块,可以在代码中使用或者用来作为参数传值。
在这里插入图片描述

1.2闭包实例

import Cocoalet studname = { print("Swift 闭包实例。") }
studname()
import Cocoalet divide = {(val1: Int, val2: Int) -> Int in return val1 / val2 
}
let result = divide(200, 20)
print (result)

1.3闭包表达式

1.3.1sorted 方法:据您提供的用于排序的闭包函数将已知类型数组中的值进行排序。

返回一个与原数组大小相同,包含同类型元素且元素已正确排序的新数组。

import Cocoalet names = ["AT", "AE", "D", "S", "BE"]// 使用普通函数(或内嵌函数)提供排序功能,闭包函数类型需为(String, String) -> Bool。
func backwards(s1: String, s2: String) -> Bool {return s1 > s2
}
var reversed = names.sorted(by: backwards)print(reversed)以上程序执行输出结果为:["S", "D", "BE", "AT", "AE"]
1.3.2参数名称缩写:直接通过$0,$1,$2来顺序调用闭包的参数。
import Cocoalet names = ["AT", "AE", "D", "S", "BE"]var reversed = names.sorted( by: { $0 > $1 } )
print(reversed)
1.3.3运算符函数
import Cocoalet names = ["AT", "AE", "D", "S", "BE"]var reversed = names.sorted(by: >)
print(reversed)

1.4尾随闭包:书写在函数括号之后的闭包表达式

import Cocoalet names = ["AT", "AE", "D", "S", "BE"]//尾随闭包
var reversed = names.sorted() { $0 > $1 }
print(reversed)

1.5捕获值:嵌套函数可以捕获其外部函数所有的参数以及定义的常量和变量。

incrementor实际上捕获并存储了该变量的一个副本,而该副本随着incrementor一同被存储。

所以我们调用这个函数时会累加

import Cocoafunc makeIncrementor(forIncrement amount: Int) -> () -> Int {var runningTotal = 0func incrementor() -> Int {runningTotal += amountreturn runningTotal}return incrementor
}let incrementByTen = makeIncrementor(forIncrement: 10)// 返回的值为10
print(incrementByTen())// 返回的值为20
print(incrementByTen())// 返回的值为30
print(incrementByTen())

如果您将闭包赋值给了两个不同的常量/变量,两个值都会指向同一个闭包:

import Cocoafunc makeIncrementor(forIncrement amount: Int) -> () -> Int {var runningTotal = 0func incrementor() -> Int {runningTotal += amountreturn runningTotal}return incrementor
}let incrementByTen = makeIncrementor(forIncrement: 10)// 返回的值为10
incrementByTen()// 返回的值为20
incrementByTen()// 返回的值为30
incrementByTen()// 返回的值为40
incrementByTen()let alsoIncrementByTen = incrementByTen// 返回的值也为50
print(alsoIncrementByTen())
http://www.dtcms.com/wzjs/348577.html

相关文章:

  • 无棣网站制作百度官网
  • 宁波专业做网站天津做网站的公司
  • 时时彩怎么建设网站如何百度收录自己的网站
  • 做外贸网站租什么服务器软文云
  • wordpress建站 外贸seo诊断
  • 无锡网站建设企业排名百度上传自己个人简介
  • 怎么cms做网站新媒体运营哪个培训机构好
  • 柳市最好的网站建设公司北京培训学校
  • 网站建设详细教程深圳产品网络推广
  • 鱿鱼网站男女做愛免費视頻短视频优化
  • dede跳转到其他网站怎么交换友情链接
  • jsp个人网站怎样做美国搜索引擎
  • 深圳软件公司定制开发seo优化推广业务员招聘
  • 微网站的链接怎么做的百度账号注册申请
  • 综合性电子商务网站有哪些个人网站制作多少钱
  • 南通北京网站建设网页设计培训学校
  • asp商业网站源码学seo推广
  • 建设网站内容市场推广方法
  • 宁波网站seo报价网络营销手段有哪四种
  • java+做网站后台环球网今日疫情消息
  • asp.net做网站视频安卓优化大师官方版
  • 武汉网站app开发合肥做网站的公司有哪些
  • vps能同时做网站同时做其它事吗平台优化是什么意思
  • 哪些网站可以直接做英文字谜怎么做微信小程序
  • 宝山网站建设公司合肥做网站推广
  • 地方网站做哪些内容外贸网站建设设计方案
  • 宜选网的网站是什么做的百度一下你就知道了官网
  • 食品销售公司网站制作刷粉网站推广便宜
  • 上海网站建设企aso关键词覆盖优化
  • 汕头市委网站两学一做三一crm手机客户端下载