 06 PHP基本语法 — 条件、循环、函数  杨亮 《PHP语⾔程序设计》PHP基本语法 —条件、循环、函数 杨亮 程序的基本结构 输⼊入 输出 程序 运算(+ - x / & | ! …) 逻辑(条件、循环、递归) 辅助(变量、数组、函数) ⼩小测验 ⽤用你熟悉的程序找出 1~1000中的所有质数 我们直接看代码好了 1 函数库,或者代码⽚片段 1 '; 4 ?> 1 函数 • 代码的可读性 • 代码的可重⽤用性 • 实现功能的模块化 • 实现递归调⽤用 • 使变量名不⾄至于太⻓长(作⽤用域) PHP中的函数 $res = my_function($val1, $val2); functon my_function($param10 码力 | 25 页 | 1.30 MB | 1 年前3 06 PHP基本语法 — 条件、循环、函数  杨亮 《PHP语⾔程序设计》PHP基本语法 —条件、循环、函数 杨亮 程序的基本结构 输⼊入 输出 程序 运算(+ - x / & | ! …) 逻辑(条件、循环、递归) 辅助(变量、数组、函数) ⼩小测验 ⽤用你熟悉的程序找出 1~1000中的所有质数 我们直接看代码好了 1 函数库,或者代码⽚片段 1 '; 4 ?> 1 函数 • 代码的可读性 • 代码的可重⽤用性 • 实现功能的模块化 • 实现递归调⽤用 • 使变量名不⾄至于太⻓长(作⽤用域) PHP中的函数 $res = my_function($val1, $val2); functon my_function($param10 码力 | 25 页 | 1.30 MB | 1 年前3
 MoonBit月兔编程语言 现代编程思想 第三课 函数, 列表与递归现代编程思想 函数, 列表与递归 Hongbo Zhang 1 基本数据类型:函数 2 函数 在数学上,描述对应关系的⼀种特殊集合 对于特定的输⼊,总是有特定的输出 在计算机中,对相同运算的抽象,避免⼤量重复定义 计算半径为1的圆的⾯积: 3.1415 * 1 * 1 计算半径为2的圆的⾯积: 3.1415 * 2 * 2 计算半径为3的圆的⾯积: 3.1415 * 3 * * 3 …… fn ⾯积(半径: Double) -> Double { 3.1415 * 半径 * 半径 } 3 函数 计算半径为1、2、3的圆的⾯积: 1. let surface_r_1: Double = { let r = 1.0; pi * r * r } 2. let surface_r_2: Double = { let r = 2.0; pi * r * r } 3. let surface_r_3) 使⽤函数后 1. fn area(radius: Double) -> Double { pi * radius * radius } 2. let result = (area(1.0), area(2.0), area(3.0)) 4 顶层函数的定义 fn <函数名> (<参数名>: <类型>, <参数名>: <类型>, ...) -> <类型> <表达式块> 定义的函数接⼝让其他使⽤者⽆需关注内部实现0 码力 | 42 页 | 587.59 KB | 1 年前3 MoonBit月兔编程语言 现代编程思想 第三课 函数, 列表与递归现代编程思想 函数, 列表与递归 Hongbo Zhang 1 基本数据类型:函数 2 函数 在数学上,描述对应关系的⼀种特殊集合 对于特定的输⼊,总是有特定的输出 在计算机中,对相同运算的抽象,避免⼤量重复定义 计算半径为1的圆的⾯积: 3.1415 * 1 * 1 计算半径为2的圆的⾯积: 3.1415 * 2 * 2 计算半径为3的圆的⾯积: 3.1415 * 3 * * 3 …… fn ⾯积(半径: Double) -> Double { 3.1415 * 半径 * 半径 } 3 函数 计算半径为1、2、3的圆的⾯积: 1. let surface_r_1: Double = { let r = 1.0; pi * r * r } 2. let surface_r_2: Double = { let r = 2.0; pi * r * r } 3. let surface_r_3) 使⽤函数后 1. fn area(radius: Double) -> Double { pi * radius * radius } 2. let result = (area(1.0), area(2.0), area(3.0)) 4 顶层函数的定义 fn <函数名> (<参数名>: <类型>, <参数名>: <类型>, ...) -> <类型> <表达式块> 定义的函数接⼝让其他使⽤者⽆需关注内部实现0 码力 | 42 页 | 587.59 KB | 1 年前3
 MoonBit月兔编程语言 现代编程思想 第六课 泛型与高阶函数现代编程思想 泛型与⾼阶函数 Hongbo Zhang 1 设计良好的抽象 软件⼯程中,我们要设计良好的抽象 当代码多次重复出现 当抽出的逻辑具有合适的语义 编程语⾔为我们提供了各种抽象的⼿段 函数、泛型、⾼阶函数、接⼝…… 2 泛型函数与泛型数据 3 堆栈 栈是⼀个由⼀系列对象组成的⼀个集合,这些对象的插⼊和删除遵循后进先出原则 (Last In First Out) } 12. } 我们希望存储很多很多类型在堆栈中 每个类型都要定义⼀个对应的堆栈吗? IntStack 和 StringStack 似乎结构⼀模⼀样? 7 泛型数据结构与泛型函数 泛型数据结构与泛型函数以类型为参数,构建更抽象的结构 1. enum Stack[T] { 2. Empty 3. NonEmpty(T, Stack[T]) 4. } 5. fn Stack::empty[T]() 泛型数据结构与泛型函数 我们⽤ [<类型1>, <类型2>, ...] 来定义泛型的类型参数 enum Stack[T]{ Empty; NonEmpty(T, Stack[T]) } struct Pair[A, B]{ first: A; second: B } fn identity[A](value: A) { value } Stack 与 Pair 可以看做从类型上的函数:类型构造器 类型参数多数时候会根据参数被⾃动推导0 码力 | 27 页 | 2.56 MB | 1 年前3 MoonBit月兔编程语言 现代编程思想 第六课 泛型与高阶函数现代编程思想 泛型与⾼阶函数 Hongbo Zhang 1 设计良好的抽象 软件⼯程中,我们要设计良好的抽象 当代码多次重复出现 当抽出的逻辑具有合适的语义 编程语⾔为我们提供了各种抽象的⼿段 函数、泛型、⾼阶函数、接⼝…… 2 泛型函数与泛型数据 3 堆栈 栈是⼀个由⼀系列对象组成的⼀个集合,这些对象的插⼊和删除遵循后进先出原则 (Last In First Out) } 12. } 我们希望存储很多很多类型在堆栈中 每个类型都要定义⼀个对应的堆栈吗? IntStack 和 StringStack 似乎结构⼀模⼀样? 7 泛型数据结构与泛型函数 泛型数据结构与泛型函数以类型为参数,构建更抽象的结构 1. enum Stack[T] { 2. Empty 3. NonEmpty(T, Stack[T]) 4. } 5. fn Stack::empty[T]() 泛型数据结构与泛型函数 我们⽤ [<类型1>, <类型2>, ...] 来定义泛型的类型参数 enum Stack[T]{ Empty; NonEmpty(T, Stack[T]) } struct Pair[A, B]{ first: A; second: B } fn identity[A](value: A) { value } Stack 与 Pair 可以看做从类型上的函数:类型构造器 类型参数多数时候会根据参数被⾃动推导0 码力 | 27 页 | 2.56 MB | 1 年前3
 Nim 2.0.2 中文手册, => ) OP0 ⼀个运算符是否被⽤作前缀,会受到前置空格影响 (这个解析变化是在 0.13.0 版本中引⼊的) 。 空格也决定了 (a, b) 是被解析为调⽤的参数列表,还是被解析为元组构造。 proc `^/`(x, y: float): float = # 右结合除法运算符 result = x / y echo 12 ^/ 4 ^/ 8 # 24.0 (4 / 8 = 0 浮点类型 字符串类型 结构化类型 引⽤(指针)类型 过程类型 泛型类型 序数类型 序数类型有以下特征: 序数类型是可数的和有序的。因⽽允许使⽤如 inc , ord , dec 等函数,来操作已定义的序数类型。 序数类型具有最⼩可使⽤值,可以通过 low(type) 获取。尝试从最⼩值继续减⼩,会产⽣ panic 或静态错误。 序数类型具有最⼤可使⽤值,可以通过 high(type) 序数类型索引。 若参数 A 是 开放数组 ,那么它的索引为由 0 到 len(A)- 1 的整数。数组表达式可以由数组构造器 [] 构造。 数组表 达式的元素类型是从第⼀个元素的类型推断出来的。所有其他元素都需要隐式转换为此类型。 可以使⽤ array[size, T] 构造数组类型,也可以使⽤ array[lo..hi, T] 设置数组的起点,⽽不是默认的 0。 序列类似于数组,但有动0 码力 | 127 页 | 7.05 MB | 1 年前3 Nim 2.0.2 中文手册, => ) OP0 ⼀个运算符是否被⽤作前缀,会受到前置空格影响 (这个解析变化是在 0.13.0 版本中引⼊的) 。 空格也决定了 (a, b) 是被解析为调⽤的参数列表,还是被解析为元组构造。 proc `^/`(x, y: float): float = # 右结合除法运算符 result = x / y echo 12 ^/ 4 ^/ 8 # 24.0 (4 / 8 = 0 浮点类型 字符串类型 结构化类型 引⽤(指针)类型 过程类型 泛型类型 序数类型 序数类型有以下特征: 序数类型是可数的和有序的。因⽽允许使⽤如 inc , ord , dec 等函数,来操作已定义的序数类型。 序数类型具有最⼩可使⽤值,可以通过 low(type) 获取。尝试从最⼩值继续减⼩,会产⽣ panic 或静态错误。 序数类型具有最⼤可使⽤值,可以通过 high(type) 序数类型索引。 若参数 A 是 开放数组 ,那么它的索引为由 0 到 len(A)- 1 的整数。数组表达式可以由数组构造器 [] 构造。 数组表 达式的元素类型是从第⼀个元素的类型推断出来的。所有其他元素都需要隐式转换为此类型。 可以使⽤ array[size, T] 构造数组类型,也可以使⽤ array[lo..hi, T] 设置数组的起点,⽽不是默认的 0。 序列类似于数组,但有动0 码力 | 127 页 | 7.05 MB | 1 年前3
 Kotlin 1.9.10 官方文档 中文版
返回与跳转 异常 包与导入 类与对象 类 继承 属性 接口 函数式(SAM)接口 可见性修饰符 扩展 数据类 密封类与密封接口 泛型:in、out、where 嵌套类 枚举类 内联类 对象表达式与对象声明 委托 属性委托 类型别名 函数 函数 lambda 表达式 内联函数 1.8.5.4 1.8.6 1.8.7 1.8.8 1.8.9 1 10.4.3 1.10.2.10.4.4 1.10.2.11 与 C 语言互操作性 映射来自 C 语言的原始数据类型——教程 映射来自 C 语言的结构与联合类型——教程 映射来自 C 语言的函数指针——教程 映射来自 C 语言的字符串——教程 创建使用 C 语言互操作与 libcurl 的应用——教程 与 Objective-C 互操作性 与 Swift/Objective-C 互操作性 Kotlin 自定义脚本入门——教程 标准库 集合 集合概述 构造集合 迭代器 区间与数列 序列 集合操作概述 集合转换操作 过滤集合 加减操作符 分组 取集合的一部分 取单个元素 排序 聚合操作 集合写操作 List 相关操作 Set 相关操作 Map 相关操作 选择加入要求 作用域函数 时间度量 官方库 协程(kotlinx.coroutines)0 码力 | 3753 页 | 29.69 MB | 1 年前3 Kotlin 1.9.10 官方文档 中文版
返回与跳转 异常 包与导入 类与对象 类 继承 属性 接口 函数式(SAM)接口 可见性修饰符 扩展 数据类 密封类与密封接口 泛型:in、out、where 嵌套类 枚举类 内联类 对象表达式与对象声明 委托 属性委托 类型别名 函数 函数 lambda 表达式 内联函数 1.8.5.4 1.8.6 1.8.7 1.8.8 1.8.9 1 10.4.3 1.10.2.10.4.4 1.10.2.11 与 C 语言互操作性 映射来自 C 语言的原始数据类型——教程 映射来自 C 语言的结构与联合类型——教程 映射来自 C 语言的函数指针——教程 映射来自 C 语言的字符串——教程 创建使用 C 语言互操作与 libcurl 的应用——教程 与 Objective-C 互操作性 与 Swift/Objective-C 互操作性 Kotlin 自定义脚本入门——教程 标准库 集合 集合概述 构造集合 迭代器 区间与数列 序列 集合操作概述 集合转换操作 过滤集合 加减操作符 分组 取集合的一部分 取单个元素 排序 聚合操作 集合写操作 List 相关操作 Set 相关操作 Map 相关操作 选择加入要求 作用域函数 时间度量 官方库 协程(kotlinx.coroutines)0 码力 | 3753 页 | 29.69 MB | 1 年前3
 Kotlin 官方文档中文版  v1.9基本类型 概述 数字 布尔 字符 字符串 数组 无符号整型 类型检测与类型转换 控制流程 条件与循环 返回与跳转 异常 包与导入 类与对象 类 继承 属性 接口 函数式(SAM)接口 可见性修饰符 扩展 3 1.8.4.8 1.8.4.9 1.8.4.10 1.8.4.11 1.8.4.12 1.8.4.13 1.8.4.14 1.8.4.15 1.6 1.9.1.7 数据类 密封类与密封接口 泛型:in、out、where 嵌套类 枚举类 内联类 对象表达式与对象声明 委托 属性委托 类型别名 函数 函数 lambda 表达式 内联函数 操作符重载 类型安全的构建器 空安全 相等性 this 表达式 异步程序设计技术 协程 注解 解构声明 反射 多平台开发 Kotlin 多平台用于 iOS 1.10.2.13.1 1.10.2.13.2 1.10.2.13.3 1.10.2.13.4 1.10.3 1.10.3.1 1.10.3.2 1.10.3.3 映射来自 C 语言的函数指针——教程 映射来自 C 语言的字符串——教程 创建使用 C 语言互操作与 libcurl 的应用——教程 与 Objective-C 互操作性 与 Swift/Objective-C 互操作性0 码力 | 2049 页 | 45.06 MB | 1 年前3 Kotlin 官方文档中文版  v1.9基本类型 概述 数字 布尔 字符 字符串 数组 无符号整型 类型检测与类型转换 控制流程 条件与循环 返回与跳转 异常 包与导入 类与对象 类 继承 属性 接口 函数式(SAM)接口 可见性修饰符 扩展 3 1.8.4.8 1.8.4.9 1.8.4.10 1.8.4.11 1.8.4.12 1.8.4.13 1.8.4.14 1.8.4.15 1.6 1.9.1.7 数据类 密封类与密封接口 泛型:in、out、where 嵌套类 枚举类 内联类 对象表达式与对象声明 委托 属性委托 类型别名 函数 函数 lambda 表达式 内联函数 操作符重载 类型安全的构建器 空安全 相等性 this 表达式 异步程序设计技术 协程 注解 解构声明 反射 多平台开发 Kotlin 多平台用于 iOS 1.10.2.13.1 1.10.2.13.2 1.10.2.13.3 1.10.2.13.4 1.10.3 1.10.3.1 1.10.3.2 1.10.3.3 映射来自 C 语言的函数指针——教程 映射来自 C 语言的字符串——教程 创建使用 C 语言互操作与 libcurl 的应用——教程 与 Objective-C 互操作性 与 Swift/Objective-C 互操作性0 码力 | 2049 页 | 45.06 MB | 1 年前3
 C++高性能并行编程与优化 -  课件 - 02 现代 C++ 入门:RAII 内存管理,后半段主要介绍并行编程与优化。 1.课程安排与开发环境搭建: cmake 与 git 入门 2.现代 C++ 入门:常用 STL 容器, RAII 内存管理 3.现代 C++ 进阶:模板元编程与函数式编程 4.编译器如何自动优化:从汇编角度看 C++ 5.C++11 起的多线程编程:从 mutex 到无锁并行 6.并行编程常用框架: OpenMP 与 Intel TBB 7.被忽视的访存优化:内存带宽与 lambda 表达式…… 近现代: C++11 引入了 lambda 表达式 现代: C++14 的 lambda 允许用 auto 自动推断类型 当代: C++17 CTAD / compile-time argument deduction / 编 译期参数推断 当代: C++17 引入常用数值算法 未来: C++20 引入区间( ranges ) https://zhuanlan.zhihu com/p/350068132 未来: C++20 引入模块( module ) https://zhuanlan.zhihu.com/p/350136757 未来: C++20 允许函数参数为自动推断( auto ) 未来: C++20 引入协程( coroutine )和生成器( generator ) 未来: C++20 标准库加入 format 支持 跑远了! • 鉴于 C++200 码力 | 96 页 | 16.28 MB | 1 年前3 C++高性能并行编程与优化 -  课件 - 02 现代 C++ 入门:RAII 内存管理,后半段主要介绍并行编程与优化。 1.课程安排与开发环境搭建: cmake 与 git 入门 2.现代 C++ 入门:常用 STL 容器, RAII 内存管理 3.现代 C++ 进阶:模板元编程与函数式编程 4.编译器如何自动优化:从汇编角度看 C++ 5.C++11 起的多线程编程:从 mutex 到无锁并行 6.并行编程常用框架: OpenMP 与 Intel TBB 7.被忽视的访存优化:内存带宽与 lambda 表达式…… 近现代: C++11 引入了 lambda 表达式 现代: C++14 的 lambda 允许用 auto 自动推断类型 当代: C++17 CTAD / compile-time argument deduction / 编 译期参数推断 当代: C++17 引入常用数值算法 未来: C++20 引入区间( ranges ) https://zhuanlan.zhihu com/p/350068132 未来: C++20 引入模块( module ) https://zhuanlan.zhihu.com/p/350136757 未来: C++20 允许函数参数为自动推断( auto ) 未来: C++20 引入协程( coroutine )和生成器( generator ) 未来: C++20 标准库加入 format 支持 跑远了! • 鉴于 C++200 码力 | 96 页 | 16.28 MB | 1 年前3
 Go 入门指南(The way to Go)在本书的第二部分,我们将会带领你贯穿 Go 语言的核心思想,譬如简单与复杂类型(第 4、7、8 章), 控制结构(第 5 章),函数(第 6 章),结构与方法(第 10 章)和接口(第 11 章)。我们会对 Go 语 言的函数式和面向对象编程进行透彻的讲解,包括如何使用 Go 语言来构造大型项目(第 9 章)。 在本书的第三部分,你将会学习到如何处理不同格式的文件(第 12 章)和如何在 Go 语言中巧妙地使用 15 章)。 我们会在本书的第四部分向你展示许多 Go 语言的开发模式和一些编码规范,以及一些非常有用的代码片 段(第 18 章)。在前面章节完成对所有的 Go 语言技巧的学习之后,你将会学习如何构造一个完整 Go 语言项目(第 19 章),然后我们会介绍一些关于 Go 语言在云(Google App Engine)方面的应用(第 20 章)。在本书的最后一章(第 21 章),我们会讨论一些在全世界范围内已经将 C++ 解决的问题的同时,让我的工作变得更加高效。我并不是说 C++ 的存在是一个错误,相反地,我认 为这是历史发展的必然结果。当我深陷在 C 语言这门略微比汇编语言好一点的泥潭时,我坚信任何语言的 构造都不可能支持大型项目的开发。像垃圾回收或并发语言支持这类东西,在当时都是极其荒谬的主意, 根本没有人在乎。C++ 向大型项目开发迈出了重要的第一步,带领我们走进这个广袤无垠的世界。很庆幸 Stroustrup0 码力 | 380 页 | 2.97 MB | 1 年前3 Go 入门指南(The way to Go)在本书的第二部分,我们将会带领你贯穿 Go 语言的核心思想,譬如简单与复杂类型(第 4、7、8 章), 控制结构(第 5 章),函数(第 6 章),结构与方法(第 10 章)和接口(第 11 章)。我们会对 Go 语 言的函数式和面向对象编程进行透彻的讲解,包括如何使用 Go 语言来构造大型项目(第 9 章)。 在本书的第三部分,你将会学习到如何处理不同格式的文件(第 12 章)和如何在 Go 语言中巧妙地使用 15 章)。 我们会在本书的第四部分向你展示许多 Go 语言的开发模式和一些编码规范,以及一些非常有用的代码片 段(第 18 章)。在前面章节完成对所有的 Go 语言技巧的学习之后,你将会学习如何构造一个完整 Go 语言项目(第 19 章),然后我们会介绍一些关于 Go 语言在云(Google App Engine)方面的应用(第 20 章)。在本书的最后一章(第 21 章),我们会讨论一些在全世界范围内已经将 C++ 解决的问题的同时,让我的工作变得更加高效。我并不是说 C++ 的存在是一个错误,相反地,我认 为这是历史发展的必然结果。当我深陷在 C 语言这门略微比汇编语言好一点的泥潭时,我坚信任何语言的 构造都不可能支持大型项目的开发。像垃圾回收或并发语言支持这类东西,在当时都是极其荒谬的主意, 根本没有人在乎。C++ 向大型项目开发迈出了重要的第一步,带领我们走进这个广袤无垠的世界。很庆幸 Stroustrup0 码力 | 380 页 | 2.97 MB | 1 年前3
 现代C++ 教程:高速上手C++11/14/17/20. . . . . . . . . . . . . . . . . . . . . 29 委托构造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 继承构造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 显式虚函数重载 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 显式禁用默认函数 . . . . . . . . . . . . . . . . . . . . . . . . . Lambda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2 函数对象包装器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 std::function0 码力 | 83 页 | 2.42 MB | 1 年前3 现代C++ 教程:高速上手C++11/14/17/20. . . . . . . . . . . . . . . . . . . . . 29 委托构造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 继承构造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 显式虚函数重载 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 显式禁用默认函数 . . . . . . . . . . . . . . . . . . . . . . . . . Lambda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2 函数对象包装器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 std::function0 码力 | 83 页 | 2.42 MB | 1 年前3
 Rust 程序设计语言简体中文版.......................................................................................... 47 3.3. 函数 .................................................................................................. ........................... 316 13. Rust 中的函数式语言功能:迭代器与闭包 ...................................................................... 318 13.1. 闭包:可以捕获其环境的匿名函数 ........................................... ...................................................................................... 507 19.4. 高级函数与闭包 ...............................................................................................0 码力 | 600 页 | 12.99 MB | 1 年前3 Rust 程序设计语言简体中文版.......................................................................................... 47 3.3. 函数 .................................................................................................. ........................... 316 13. Rust 中的函数式语言功能:迭代器与闭包 ...................................................................... 318 13.1. 闭包:可以捕获其环境的匿名函数 ........................................... ...................................................................................... 507 19.4. 高级函数与闭包 ...............................................................................................0 码力 | 600 页 | 12.99 MB | 1 年前3
共 468 条
- 1
- 2
- 3
- 4
- 5
- 6
- 47














 
 