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

湘西网站建设公司网页上做网会员网站备案怎么写

湘西网站建设公司,网页上做网会员网站备案怎么写,国外网站html5从上到下连续变动,做网站与网店运营目录 不同范式对比#xff1a; 1.面向对象编程 2.函数式编程 2.1函数基本语法 2.2函数和方法的区别 核心概念#xff1a; 2.3函数定义 2.4函数参数 2.5 函数至简原则 2.6.高阶函数 三.偏函数 四.柯里化函数 五.递归函数 递归函数注意点#xff1a; 六.控制抽象 1…目录 不同范式对比 1.面向对象编程 2.函数式编程 2.1函数基本语法 2.2函数和方法的区别 核心概念 2.3函数定义 2.4函数参数 2.5 函数至简原则 2.6.高阶函数 三.偏函数 四.柯里化函数 五.递归函数 递归函数注意点 六.控制抽象 1.值调用把计算后的值传递过去 2.名调用把代码传递过去 七.惰性加载 不同范式对比 面向过程按照步骤解决问题。面向对象分解对象、行为、属性通过对象关系以及行为调用解决问题。耦合低复用性高可维护性强。 面向对象和面向过程都是命令式编程但是函数式编程不关心具体运行过程而是关心数据之间的映射。纯粹的函数式编程语言中没有变量所有量都是常量计算过程就是不停的表达式求值的过程每一段程序都有返回值。不关心底层实现对人来说更好理解相对地编译器处理就比较复杂。 函数式编程优点编程效率高函数式编程的不可变性对于函数特定输入输出是特定的与环境上下文等无关。函数式编程无副作用利于并行处理所以Scala特别利于应用于大数据处理比如SparkKafka框架。 1.面向对象编程 解决问题分解对象行为属性然后通过对象的关系以及行为的调用来解决问题 对象的本质对数据和行为的一个封装 2.函数式编程 解决问题时将问题分解成一个个步骤将每个步骤进行封装函数通过调用这些封装好的步骤解决问题。 函数的本质函数可以当作一个值进行传递 2.1函数基本语法 实例需求定义一个函数实现将传入的名称打印出来。 object TestFunction {def main(args: Array[String]): Unit {// 1函数定义def f(arg: String): Unit {println(arg) }// 2函数调用 // 函数名参数f(hello world) } } 2.2函数和方法的区别 核心概念 1.为完成某一功能的程序语句的集合称之为函数                  2.类中的函数称之为方法 Scala 语言可以在任何的语法结构中声明任何的语法 函数没有重载和重写的概念方法可以进行重载和重写 Scala 中函数可以嵌套定义 2.3函数定义 函数 1无参无返回值 函数 2无参有返回值 函数 3有参无返回值 函数 4有参有返回值 函数 5多参无返回值 函数 6多参有返回值 实例 2.4函数参数 可变参数类似于Java使用数组包装。可变参数可以当作数组来用 如果参数列表中存在多个参数那么可变参数一般放置在最后 参数默认值一般将有默认值的参数放置在参数列表的后面 带名称传参 不给名称的就是按顺序赋值 调用时带名参数必须位于实参列表末尾 和默认参数一起使用会很方便比如有多个默认参数但只想覆盖其中一个 2.5 函数至简原则 能省则省。最后一行代码会作为返回值可以省略return。函数体只有一行代码的话可以省略花括号。如果返回值类型能够自动推断那么可以省略。如果函数体中用return做返回那么返回值类型必须指定。如果声明返回Unit那么函数体中使用return返回的值也不起作用。如果期望是无返回值类型那么可以省略。这时候没有返回值函数也可以叫做过程。【2.13.0已废弃能编过不过会提示。】无参函数如果声明时没有加()调用时可以省略()。【如果声明时有()调用也可以省略不过2.13.3废弃了。】不关心函数名称时函数名称和def也可以省略去掉返回值类型将修改为定义为匿名函数。2.6.高阶函数 三种形式函数作为值传递、函数作为参数、函数作为返回值。 作为值传递经过赋值之后在底层变成一个lambda对象。 实例1模拟 Map 映射、Filter 过滤、Reduce 聚合 三.偏函数 1.在对符合某个条件而不是所有情况进行逻辑操作时使用偏函数是一 个不错的选择 2.将包在大括号内的一组case语句封装为函数我们称之为偏函数它只 对会作用于指定类型的参数或指定范围值的参数实施计算超出范围的 值会忽略未必会忽略这取决于你打算怎样处理 3.偏函数在Scala中是一个特质PartialFunction 偏函数总结 使用构建特质的实现类(使用的方式是PartialFunction的匿名子类) PartialFunction 是个特质(看源码) 构建偏函数时参数形式 [Any, Int]是泛型第一个表示参数类型第二个表示 返回参数 当使用偏函数时会遍历集合的所有元素编译器执行流程时先执行isDefinedAt()如果为 true ,就会执行 apply, 构建一个新的Int 对象返回 执行isDefinedAt() 为false 就过滤掉这个元素即不构建新的Int对象. map函数不支持偏函数因为map底层的机制就是所有循环遍历无法过滤处理 原来集合 的元素 collect函数支持偏函数 实例1对malefemale男女,hello进行转义string转换为int 四.柯里化函数 柯里化(Currying)指的是将原来接受多个参数的函数变成新的接受一个参数的函数的多个参数列表的过程。 基本介绍 函数编程中接受多个参数的函数都可以转化为接受单个参数的函数这个转 化过程就叫 柯里化 柯里化就是证明了函数只需要一个参数而已。其实我们刚才的学习过程中已 经涉及到了 柯里化操作。 不用设立柯里化存在的意义这样的命题。柯里化就是以函数为主体这种思想发展的必然产 生的结果。(即柯里化是面向函数思想的必然产生结果) 五.递归函数 一个函数/方法在函数/方法体内又调用了本身我们称之为递归调用 递归函数注意点 方法调用自身。递归要有结束逻辑。调用自身时传递参数要有规律。scala中递归定义函数必须声明返回值类型因为无法通过推导获得。纯函数式语言比如Haskell连循环都没有很多操作都需要通过递归来做性能比较依赖尾递归优化。 实例 六.控制抽象 1.值调用把计算后的值传递过去 按值传递参数计算值后再传递。多数语言中一般函数调用都是这个方式C还存在引用传递。 2.名调用把代码传递过去 按名称传递参数直接用实参替换函数中使用形参的地方。能想到的只有C语言中的带参宏函数其实并不是函数调用预处理时直接替换。 java只有值调用scala既有值调用又有名调用 七.惰性加载 当函数返回值被声明为 lazy 时函数的执行将被推迟直到我们首次对此取值该函 数才会执行。这种函数我们称之为惰性函数。
http://www.dnsts.com.cn/news/69741.html

相关文章:

  • 短网址网站做图表的网站知乎
  • 大气环保网站模板网站关键字如何选择
  • 深圳外贸网站建设网站开发是做什么的
  • 如何建网站模板wordpress取消categore
  • 怎么在百度上建立网站苏州制作公司网站的
  • 网站开发要什么软件有哪些如何打开网页源代码
  • 企业建设网站的目的和意义关键词优化话术
  • 网站规划的公司wordpress超级大菜单如何使用
  • 济南建设工程业绩公示的网站外贸公司取名字参考大全
  • 常州门户网站建设四川成都现在可以去吗
  • 昆明企业网站设计网站建设及安全规范
  • 国外做旅游攻略的网站好西安千秋网络科技有限公司
  • 产品设计网上接单河北seo人员
  • 西安网站开发培训WordPress 主题选项框架
  • 一个外国人做的汉子 网站现有电商平台
  • 开企网站建设长沙做最好网站
  • 三水建设局网站嵌入式软件开发工程师工作内容
  • 多城市网站设计企业年金保险是一种什么保险
  • 电子商务企业网站建设计划书html5网站模板源码
  • 青岛专业网站开发公司wordpress设置固定链接伪静态
  • 域名注册好了怎么样做网站云开发和普通开发区别
  • 涞水网站建设深圳华强北今晚
  • 青岛网站建设电话东莞大朗网站建设哪家口碑好
  • 网站开发图形化软件wordpress 小工具居中
  • 网站制作与免费网站建设中国建行官方网站
  • 金本网站建设设计网站链接推广怎么做
  • 网站seo分析案例博物馆网站建设策划书
  • 深圳 网站建设设计软件开发制作公司
  • php网站开发实例教程源码网页制作教程视频教学
  • 搭建什么网站好玩3d建模一般学多久