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

网络公司做机场网站如何安装网站模板

网络公司做机场网站,如何安装网站模板,企业vi设计公司定制,湖州注册公司文章目录 1. 函数 vs 方法1.1 方法(1) 定义方法(2) 运算符即方法 1.2 函数(1) 定义函数(2) 匿名函数 1.3 方法转为函数1.4 可变参数默认参数 2. 函数至简原则3. 函数式编程3.1 函数式编程思想3.3 函数柯里化闭包3.5 递归 尾递归 4. 补充4.1 访问元祖元素4.2 默认参数 2. 函数至简原则3. 函数式编程3.1 函数式编程思想3.3 函数柯里化闭包3.5 递归 尾递归 4. 补充4.1 访问元祖元素4.2 的含义4.3 下划线的使用总结 1. 函数 vs 方法 在Java中方法与函数没区别但是在Scala中方法和函数是不一样的。Java是面向对象的Scala是面向函数式编程的主要体现在如下4点 Java对象可以作为一个值传递对象可以作为参数传递对象可以作为返回值传递可以调用对象Scala函数可以作为一个值传递函数可以作为参数传递函数可以作为返回值传递可以调用函数Scala方法不可以作为一个值传递方法不可以作为参数传递方法不可以作为返回值传递可以调用函数 可以看出Scala中函数比方法更加强大而函数相比于方法最重要的功能就是函数能作为参数传递也就是说a和b进行的操作不是写死的而是可变的。 从位置上理解方法 只能在类中定义做为类的属性函数 可以在任何地方定义。从是否可以重载的角度方法定义在类中可以实现重载函数不可以重载。从运行位置角度方法是保存在方法区函数是保存在堆中。 1.1 方法 (1) 定义方法 定义方法语法如下 object 类名 {def 方法名([变量变量类型变量变量类型]):返回值类型 {方法体} }比如 方法不能作为值传递 object Main {def main(args: Array[String]): Unit {def add(x:Int, y:Int):Int {x y}val result add // 会报错println(result)} }方法不能作为参数传递 object Main {def main(args: Array[String]): Unit {// 1. 定义calculate方法def calculate(x: Int, y: Int, func: (Int, Int) Int): Int { // x与y进行func操作这个func函数需要指名 形参类型和返回值func(x, y)}// 2. 定义add方法def add(x:Int, y:Int):Int {x y}// 3. 函数作为参数传递val result calculate(2, 3, add) // 不会报错自动转为函数传递println(result)} }方法不能作为返回值传递 object Main {def main(args: Array[String]): Unit {// 1. 定义getFunc方法def getFunc() { // x与y进行func操作这个func函数需要指名 形参类型和返回值def func(x: Int, y: Int) {x y} func // 会报错}// 2. 得到函数println(getFunc())} }方法可以直接调用 object Main {def main(args: Array[String]): Unit {def add(x: Int, y: Int) x yprintln(add(2, 3)) // 输出5} } (2) 运算符即方法 所有的运算符本质上是方法。比如查看Int类 可以看到类中定义了很多以运算符命名的方法 因此以下两种方法是等价的 val a 1 2val a 1.(2)反过来可以定义这样的方法并调用 例子1 object Cal {def say(x:Int):Int x }object Main {def main(args: Array[String]): Unit {// 1. 用 类.方法名(参数列表) 形式调用方法var result1 Cal.say(3)// 2. 用 类 方法 参数列表 形式调用方法var result2 Cal say (3) var result3 Cal say 3 // 如果参数列表只有一个值括号是可以省略的} }例子2 object Main {def say(x:Int):Int xdef main(args: Array[String]): Unit {// 1. 用 类.方法名(参数列表) 形式调用方法var result1 this.say(3)// 2. 用 类 方法 参数列表 形式调用方法var result2 this say (3) // 如果参数列表只有一个值括号是可以省略的var result3 this say 3} }1.2 函数 (1) 定义函数 Scala中有23个函数接口类函数的本质就是实现这些接口类来实现强大的功能 Function0无参数无返回值Function1… 定义函数语法如下 object 类名 {def 函数名:([变量类型变量类型])返回值类型 ([变量变量类型变量变量类型]) {方法体} }比如 函数可以作为一个值传递 object Main {def main(args: Array[String]): Unit {val add (x:Int, y:Int) x yval result add // 不会报错println(result) } }函数可以作为参数传递此时需要指名函数的类型。格式为(参数类型)返回值类型 object Main {def main(args: Array[String]): Unit {// 1. 定义calculate方法def calculate(x:Int, y:Int, func:(Int, Int)Int): Int { // x与y进行func操作这个func函数需要指名 形参类型和返回值func(x, y)}// 2. 定义add函数def add (x:Int, y:Int) x y// 3. 函数作为参数传递val result calculate(2, 3, add)// 4. 输出println(result) // 输出5} }函数可以作为返回值传递 object Main {def main(args: Array[String]): Unit {// 1. 定义getFunc方法def getFunc() { // x与y进行func操作这个func函数需要指名 形参类型和返回值val func (x:Int, y:Int) x yfunc}// 2. 得到函数println(getFunc())// 3. 得到函数并执行函数println(getFunc()(2, 3)) // 输出5} }函数可以执行 object Main {def main(args: Array[String]): Unit {val add (x:Int, y:Int) x yprintln(add(2, 3))} }(2) 匿名函数 匿名函数与函数的语法区别就在于前者是val关键字后者是def关键字。比如 匿名函数简化了函数值传递 注意这只会定义一个函数也不会执行函数。这点和Java不一样java的lambda表达式是会创建对象并执行构造方法。 1.3 方法转为函数 通用转换方式在方法名后面 空格 _ 即可语法为方法名 _ object Main {def main(args: Array[String]): Unit {def add(x:Int, y:Int):Int {x y}val result add _ // 将方法转为函数println(result(2, 3)) // 输出5} }在参数处将方法转为函数时可以简化去掉 _直接方法名 object Main {def main(args: Array[String]): Unit {// 1. 定义calculate方法def calculate(x: Int, y: Int, func: (Int, Int) Int): Int { // x与y进行func操作这个func函数需要指名 形参类型和返回值func(x, y)}// 2. 定义add函数def add(x:Int, y:Int):Int {x y}// 3. 函数作为参数传递val result1 calculate(2, 3, add _) // 此时可优化去掉 空格_val result2 calculate(2, 3, add) // 优化后的代码} }1.4 可变参数默认参数 object Test03_FunArgs {def main(args: Array[String]): Unit {// (1)可变参数在类型后面加*号def sayHi(names:String*):Unit {println(shi $names)}sayHi()sayHi(linhai)sayHi(linhai,jinlian)// (2)可变参数必须在参数列表的最后def sayHi1(sex: String,names:String*):Unit {println(shi $names)}// (3)参数默认值def sayHi2(name:String linhai):Unit {println(shi ${name})}sayHi2(linhai)sayHi2()// (4)默认值参数在使用的时候 可以不在最后def sayHi3( name:String linhai , age:Int):Unit {println(shi ${name})}// (5)带名参数指调用方法时指定传参顺序sayHi3(age 10, name niu)} }2. 函数至简原则 注意方法最后一行的return可以省略但是除此之外都不能省略。比如 object Test04_FuncSimply {def main(args: Array[String]): Unit {//1return可以省略Scala会使用方法体的最后一行代码作为返回值def func1(x: Int, y: Int): Int {x y}// 2如果方法体只有一行代码可以省略花括号def func2(x: Int, y: Int): Int x y//3返回值类型如果能够推断出来那么可以省略:和返回值类型一起省略// 此时函数就变为了数学表达式的形式f(x, y) x ydef func3(x: Int, y: Int) x y//4如果有return则不能省略返回值类型必须指定def func4(x: Int, y: Int): Int {if (x 20) {return x y}2 * x 3 * y}//5如果方法明确声明unit那么即使函数体中使用return关键字也不起作用def func5(x: Int, y: Int): Unit return x y//6Scala如果期望是无返回值类型可以省略等号def func6(x: Int, y: Int) {println(x y)}// 7如果方法无参但是声明了参数列表那么调用时小括号可加可不加def func7(): Unit {println(hello)}// 8如果方法没有参数列表那么小括号可以省略调用时小括号必须省略def func8 {println(hello)}// 9如果不关心函数名只关心映射逻辑就会变为lambda表达式(x:Int, y:Int) {println(x y)}val func (x:Int, y:Int) {println(x y)} // 如果要设置函数名可以这样。此时func就是函数名} }3. 函数式编程 3.1 函数式编程思想 函数式编程思想① 当做数学题y f(x)重要的是映射关系。② 使用val在分布式上计算后不会产生歧义通过前面可以知道定义函数有3种形式 方法转函数。先定义方法再方法名 直接定义函数def匿名函数 一看到 或 一看到 _就要想到这是表示函数。 3.3 函数柯里化闭包 闭包内层函数用到了外层函数变量如果直接调用内层函数会取不到外层函数的这个变量值。此时内层函数(万物皆对象函数也是对象)的堆中的对象会保留一份引用到外层函数的值。 闭包参考链接 函数柯里化将一个接收多个参数的函数转化成一个一个接受参数的函数过程可以简单的理解为一种特殊的参数列表声明方式。函数柯里化 object TestFunction {val sum (x: Int, y: Int, z: Int) x y z// 函数柯里化的底层逻辑本质是将函数作为返回值val sum1 (x: Int) {y: Int { // 匿名函数z: Int { // 匿名函数x y z}}}// 函数柯里化的另一种简单表达val sum2 (x: Int) (y: Int) (z: Int) x y z// 方法也有函数柯里化def sum3(x: Int)(y: Int)(z: Int) x y zdef main(args: Array[String]): Unit {sum(1, 2, 3)sum1(1)(2)(3) // sum1(1)调用完后返回一个函数; sum1(1)(2)是调用返回的函数; .......sum2(1)(2)(3)sum3(1)(2)(3)} }3.5 递归 尾递归 递归与Java中的递归一样前面知道scala的方法返回值是可以省略的默认分配返回值类型但是 如果方法是递归方法则必须指定方法的返回值类型否则会报错。 object Test{def main(args: Array[String]): Unit {// 实现阶乘def fact(n : Int) : Int { // 必须指名方法的返回值类型// 跳出递归if(n 1) return 1// 递归逻辑n * fact(n - 1)}// 调用阶乘方法println(fact(5))} }尾递归递归是将每次调用函数/方法会压入到栈中是累计使用资源容易造成栈溢出而尾递归是覆盖使用资源不会造成栈溢出。所以尾递归资源利用率更加高。尾递归参考链接 一般支持函数式编程语言都支持尾递归但是Java不支持尾递归。 4. 补充 4.1 访问元祖元素 变量名._数字 比如x._1 表示访问x的第一个元素4.2 的含义 https://blog.csdn.net/qq_43546676/article/details/130992479 4.3 下划线的使用总结 https://blog.csdn.net/qq_43546676/article/details/130874779
文章转载自:
http://www.morning.hbkkc.cn.gov.cn.hbkkc.cn
http://www.morning.ytnn.cn.gov.cn.ytnn.cn
http://www.morning.rmxk.cn.gov.cn.rmxk.cn
http://www.morning.blbys.cn.gov.cn.blbys.cn
http://www.morning.tlbhq.cn.gov.cn.tlbhq.cn
http://www.morning.yrdkl.cn.gov.cn.yrdkl.cn
http://www.morning.fksyq.cn.gov.cn.fksyq.cn
http://www.morning.lrybz.cn.gov.cn.lrybz.cn
http://www.morning.drswd.cn.gov.cn.drswd.cn
http://www.morning.qtbnm.cn.gov.cn.qtbnm.cn
http://www.morning.kkjlz.cn.gov.cn.kkjlz.cn
http://www.morning.ybhrb.cn.gov.cn.ybhrb.cn
http://www.morning.drqrl.cn.gov.cn.drqrl.cn
http://www.morning.lbssg.cn.gov.cn.lbssg.cn
http://www.morning.yaqi6.com.gov.cn.yaqi6.com
http://www.morning.bwhcl.cn.gov.cn.bwhcl.cn
http://www.morning.dxqfh.cn.gov.cn.dxqfh.cn
http://www.morning.cknrs.cn.gov.cn.cknrs.cn
http://www.morning.jhyfb.cn.gov.cn.jhyfb.cn
http://www.morning.ggnrt.cn.gov.cn.ggnrt.cn
http://www.morning.rlwgn.cn.gov.cn.rlwgn.cn
http://www.morning.mqfkd.cn.gov.cn.mqfkd.cn
http://www.morning.kaweilu.com.gov.cn.kaweilu.com
http://www.morning.jsphr.cn.gov.cn.jsphr.cn
http://www.morning.elsemon.com.gov.cn.elsemon.com
http://www.morning.ssglh.cn.gov.cn.ssglh.cn
http://www.morning.mcjp.cn.gov.cn.mcjp.cn
http://www.morning.khxwp.cn.gov.cn.khxwp.cn
http://www.morning.wjlkz.cn.gov.cn.wjlkz.cn
http://www.morning.dhqzc.cn.gov.cn.dhqzc.cn
http://www.morning.lbrwm.cn.gov.cn.lbrwm.cn
http://www.morning.nmrtb.cn.gov.cn.nmrtb.cn
http://www.morning.xhklb.cn.gov.cn.xhklb.cn
http://www.morning.qxkcx.cn.gov.cn.qxkcx.cn
http://www.morning.krhkn.cn.gov.cn.krhkn.cn
http://www.morning.jrlxz.cn.gov.cn.jrlxz.cn
http://www.morning.wckrl.cn.gov.cn.wckrl.cn
http://www.morning.mprtj.cn.gov.cn.mprtj.cn
http://www.morning.kfrhh.cn.gov.cn.kfrhh.cn
http://www.morning.zhishizf.cn.gov.cn.zhishizf.cn
http://www.morning.ynrzf.cn.gov.cn.ynrzf.cn
http://www.morning.qbwmz.cn.gov.cn.qbwmz.cn
http://www.morning.mhbcy.cn.gov.cn.mhbcy.cn
http://www.morning.mdpcz.cn.gov.cn.mdpcz.cn
http://www.morning.qlbmc.cn.gov.cn.qlbmc.cn
http://www.morning.wdpbq.cn.gov.cn.wdpbq.cn
http://www.morning.mbhdl.cn.gov.cn.mbhdl.cn
http://www.morning.fhrgk.cn.gov.cn.fhrgk.cn
http://www.morning.kqrql.cn.gov.cn.kqrql.cn
http://www.morning.zphlb.cn.gov.cn.zphlb.cn
http://www.morning.rftk.cn.gov.cn.rftk.cn
http://www.morning.znqxt.cn.gov.cn.znqxt.cn
http://www.morning.jnhhc.cn.gov.cn.jnhhc.cn
http://www.morning.lwdzt.cn.gov.cn.lwdzt.cn
http://www.morning.smggx.cn.gov.cn.smggx.cn
http://www.morning.wqjpl.cn.gov.cn.wqjpl.cn
http://www.morning.wxccm.cn.gov.cn.wxccm.cn
http://www.morning.gmmxh.cn.gov.cn.gmmxh.cn
http://www.morning.jtfsd.cn.gov.cn.jtfsd.cn
http://www.morning.lkbkd.cn.gov.cn.lkbkd.cn
http://www.morning.xplng.cn.gov.cn.xplng.cn
http://www.morning.cljpz.cn.gov.cn.cljpz.cn
http://www.morning.bbjw.cn.gov.cn.bbjw.cn
http://www.morning.wmgjq.cn.gov.cn.wmgjq.cn
http://www.morning.lmyq.cn.gov.cn.lmyq.cn
http://www.morning.nkpls.cn.gov.cn.nkpls.cn
http://www.morning.jjwt.cn.gov.cn.jjwt.cn
http://www.morning.nbfkk.cn.gov.cn.nbfkk.cn
http://www.morning.jcbjy.cn.gov.cn.jcbjy.cn
http://www.morning.rkdnm.cn.gov.cn.rkdnm.cn
http://www.morning.snbrs.cn.gov.cn.snbrs.cn
http://www.morning.nbrkt.cn.gov.cn.nbrkt.cn
http://www.morning.qtrlh.cn.gov.cn.qtrlh.cn
http://www.morning.fhqsm.cn.gov.cn.fhqsm.cn
http://www.morning.nqbkb.cn.gov.cn.nqbkb.cn
http://www.morning.ngkgy.cn.gov.cn.ngkgy.cn
http://www.morning.qsszq.cn.gov.cn.qsszq.cn
http://www.morning.jljiangyan.com.gov.cn.jljiangyan.com
http://www.morning.pxsn.cn.gov.cn.pxsn.cn
http://www.morning.khpgd.cn.gov.cn.khpgd.cn
http://www.tj-hxxt.cn/news/267129.html

相关文章:

  • 中象做网站怎么样自己做网站需要什么材料
  • 怎么用手机做钓鱼软件或者网站wordpress如何重新连接数据库
  • 如何做点对点视频网站sap系统
  • 萧山大江东规划国土建设局网站杭州建设工程交易网
  • 做拼团的网站做网站 没内容
  • 网站模板 jsp郑州公司注册网上核名
  • 网站ui 特点搜网站技巧
  • 网站建设及维护服务技术指标培训优化
  • 做程序题的国外网站做p2p理财网站
  • 重庆装修公司排名前十有哪些百度优化师
  • 做网店好还是网站好个人简历自我评价怎么写
  • 怎么停止网站深圳优化网站
  • 网站建设空间域名是什么电脑上怎么下载字体到wordpress
  • 要服务网站建设哈尔滨ui设计培训学校
  • 网站ftp空间中国代加工网站
  • 知更鸟wordpress模板廊坊百度关键词优化
  • 梦里做他千百度网站精诚时代 网站谁做的
  • 成都网站品牌设计网站分析与优化
  • 网站开发技术 创新点网站优化基础
  • 北京专业制作网站公司网站建设需要建站公司沟通哪些
  • 做茶叶网站的公司百度网盘官网网页版
  • 专门做优选的网站全国文明城市创建内容
  • 免费单页网站模板百度推广需要备案的网站吗
  • 网站开发技术方法与路线dedecms网站二次开发
  • 塑胶制品 东莞网站建设世界十大搜索引擎排名
  • 邢台公司网站建设专业店面店铺装修设计
  • 姜堰哪里有网站建设的360网站图标怎么做的
  • 郑州 做网站深圳商城网站设计公司
  • 国家级示范校建设网站做一个信息发布网站要多少钱
  • 商业网站建设目标为什么要进行网站建设