MoonBit月兔编程语言 现代编程思想 第七课 命令式编程:命令,可变数据结构,循环现代编程思想 命令式编程 Hongbo Zhang 1 函数式编程 到此为⽌,我们介绍的可以归类于函数式编程的范畴 对每⼀个输⼊,有着固定的输出 对于标识符,我们可以直接⽤它所对应的值进⾏替代⸺引⽤透明性 开发实⽤的程序,我们需要⼀些计算之外的�副作⽤� 进⾏输⼊输出 修改内存中的数据等 这些副作⽤可能导致多次执⾏的结果不⼀致 2 引⽤透明性 我们可以定义如下数据绑定和函数 引⽤透明性可以易于理解 3 命令 函数 print 允许我们输出⼀个字符串,例如 print("hello moonbit") ⽉兔中可以通过 init 代码块来定义初始化指令 可以简单理解为程序主⼊⼝ 1. fn init { 2. println("hello moonbit") // 函数名中的ln代表换⾏ 3. } 4 命令与副作⽤ 输出命令可能会破坏引⽤透明性 1. fn 4. println("hello moonbit") // <-- 我们⾸先执⾏命令,进⾏输出 5. 1 + 1 // <-- 之后,我们以表达式块最后的值作为表达式块的值 6. } 7. let z: Int = square(x) // 4, 输出⼀次 8. } 5 命令与副作⽤ 我们不⼀定可以放⼼替换,因此会增⼤程序理解难度 1. fn init { 2.0 码力 | 23 页 | 780.46 KB | 1 年前3
跟我一起写 Makefile (PDF 重制版). . . . . . . . . . . . . . . . . 19 4 书写命令 23 4.1 显示命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2 命令执行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.3 命令出错 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.4 嵌套执行 make . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.5 定义命令包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5 使用变量 29 5.1 变量的基础 . . . . . . . . .0 码力 | 81 页 | 628.51 KB | 1 年前3
Go 入门指南(The way to Go)书栈(BookStack.CN) 构建 第5章:控制结构 5.1 if-else 结构 5.2 测试多返回值函数的错误 5.3 switch 结构 5.4 for 结构 5.5 Break 与 continue 5.6 标签与 goto 第6章:函数(function) 6.1 介绍 6.2 函数参数与返回值 6.3 传递变长参数 6.4 defer 和追踪 6.5 内置函数 6.6 递归函数 递归函数 6.7 将函数作为参数 6.8 闭包 6.9 应用闭包:将函数作为返回值 6.10 使用闭包调试 6.11 计算函数执行时间 6.12 通过内存缓存来提升性能 第7章:数组与切片 7.1 声明和初始化 7.2 切片 7.3 For-range 结构 7.4 切片重组(reslice) 7.5 切片的复制与追加 7.6 字符串、数组和切片的应用 第8章:Map 8 接口与动态类型 11.13 总结:Go 中的面向对象 11.14 结构体、集合和高阶函数 第12章:读写数据 12.1 读取用户的输入 12.2 文件读写 12.3 文件拷贝 12.4 从命令行读取参数 12.5 用 buffer 读取文件 - 4 - 本文档使用 书栈(BookStack.CN) 构建 12.6 用切片读写文件 12.7 用 defer 关闭文件 12.8 使用接口的实际例子:fmt0 码力 | 466 页 | 4.44 MB | 1 年前3
Go 入门指南(The way to Go)org Go 语言还有一个运行在 Google App Engine 上的 Go Tour,你也可以通过执行命令 go install go-tour.googlecode.com/hg/gotour 安装到你的本地机器上。对于中文读者,可以访问该 指南的 中文版本,或通过命令 go install https://bitbucket.org/mikespook/go-tour-zh/gotour ) l = 链接器:将项目代码链接到可执行的二进制文件(机器代码) (相关的 C 编译器名称为 6c、8c 和 5c,相关的汇编器名称为 6a、8a 和 5a) 标记(Flags) 是指可以通过命令行设置可选参数来影响编译器或链接器的构建过程或得到一个特殊的 目标结果。 可用的编译器标记如下: flags: -I 针对包的目录搜索 -d 打印声明信息 -e 不限制错误打印的个数 -f 打印栈结构 打印归类后的语法解析树 -x 打印 lex tokens 从 Go 1.0.3 版本开始,不再使用 8g,8l 之类的指令进行程序的构建,取而代之的是统一的 go build 和 go install 等命令,而这些指令会自动调用相关的编译器或链接器。 如果你想获得更深层次的信息,你可以在目录 $GOROOT/src/cmd 下找到编译器和链接器的源代 Go入门指南 - 13 - 本文档使用 看云0 码力 | 380 页 | 2.97 MB | 1 年前3
FISCO BCOS 2.9.0 中文文档11 多种语言SDK 259 12 区块链功能接口列表 493 13 使用链上信使 533 14 开发期问题排查 537 15 开发部署工具(build_chain.sh) 559 16 命令行交互控制台 571 17 WeBASE管理平台 665 18 区块链浏览器 669 19 运维部署工具 693 20 数据治理通用组件 745 21 多方协作治理组件 751 22 区块链应用开发组件 1.7 易用性 FISCO BCOS引入开发部署工具、交互式控制台、区块链浏览器等工具来提升系统的易用性,大幅缩短 建链、部署应用的时间。 • 开发部署工具 • 基于Java SDK的交互式的命令行工具console • 区块链浏览器 为了便于不同语言开发者快速开发应用,FISCO BCOS同时支持Java SDK、Node.js SDK、Python SDK和Go SDK 1.8 社区开发工具 使用CRUD接口 。 2.1.6 控制台 FISCO BCOS 2.0新增控制台,作为FISCO BCOS 2.0的交互式客户端工具。 控制台安装简单便捷,简单配置后即可和链节点进行通信,拥有丰富的命令和良好的交互体验,用户可 以通过控制台查询区块链状态、读取和修改配置、管理区块链节点、部署并调用合约。控制台给用户管 理、开发、运维区块链带来了巨大的便利,降低了操作繁琐性和使用门槛。 相比于传统0 码力 | 1489 页 | 107.09 MB | 1 年前3
FISCO BCOS 3.6.0 中文文档11 多种语言SDK 259 12 区块链功能接口列表 493 13 使用链上信使 533 14 开发期问题排查 537 15 开发部署工具(build_chain.sh) 559 16 命令行交互控制台 571 17 WeBASE管理平台 665 18 区块链浏览器 669 19 运维部署工具 693 20 数据治理通用组件 745 21 多方协作治理组件 751 22 区块链应用开发组件 1.7 易用性 FISCO BCOS引入开发部署工具、交互式控制台、区块链浏览器等工具来提升系统的易用性,大幅缩短 建链、部署应用的时间。 • 开发部署工具 • 基于Java SDK的交互式的命令行工具console • 区块链浏览器 为了便于不同语言开发者快速开发应用,FISCO BCOS同时支持Java SDK、Node.js SDK、Python SDK和Go SDK 1.8 社区开发工具 使用CRUD接口 。 2.1.6 控制台 FISCO BCOS 2.0新增控制台,作为FISCO BCOS 2.0的交互式客户端工具。 控制台安装简单便捷,简单配置后即可和链节点进行通信,拥有丰富的命令和良好的交互体验,用户可 以通过控制台查询区块链状态、读取和修改配置、管理区块链节点、部署并调用合约。控制台给用户管 理、开发、运维区块链带来了巨大的便利,降低了操作繁琐性和使用门槛。 相比于传统0 码力 | 1489 页 | 107.09 MB | 1 年前3
FISCO BCOS 2.9.0 中文文档11 多种语言SDK 259 12 区块链功能接口列表 493 13 使用链上信使 533 14 开发期问题排查 537 15 开发部署工具(build_chain.sh) 559 16 命令行交互控制台 571 17 WeBASE管理平台 665 18 区块链浏览器 669 19 运维部署工具 693 20 数据治理通用组件 745 21 多方协作治理组件 751 22 区块链应用开发组件 1.7 易用性 FISCO BCOS引入开发部署工具、交互式控制台、区块链浏览器等工具来提升系统的易用性,大幅缩短 建链、部署应用的时间。 • 开发部署工具 • 基于Java SDK的交互式的命令行工具console • 区块链浏览器 为了便于不同语言开发者快速开发应用,FISCO BCOS同时支持Java SDK、Node.js SDK、Python SDK和Go SDK 1.8 社区开发工具 使用CRUD接口 。 2.1.6 控制台 FISCO BCOS 2.0新增控制台,作为FISCO BCOS 2.0的交互式客户端工具。 控制台安装简单便捷,简单配置后即可和链节点进行通信,拥有丰富的命令和良好的交互体验,用户可 以通过控制台查询区块链状态、读取和修改配置、管理区块链节点、部署并调用合约。控制台给用户管 理、开发、运维区块链带来了巨大的便利,降低了操作繁琐性和使用门槛。 相比于传统0 码力 | 1489 页 | 107.09 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0. . . . . . 243 12. 一个 I/O 项目:构建命令行程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 12.1. 接受命令行参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 14.5. Cargo 自定义扩展命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 对低风险的操作,因为编译器会替你找到经典的错误。同时你可以自信地采取更加激进的优 化,而不会意外引入崩溃或漏洞。 但 Rust 并不局限于底层系统编程。它表达力强、写起来舒适,让人能够轻松地编写出命令行 应用、网络服务器等各种类型的代码——在本书中就有这两者的简单示例。使用 Rust 能让你 把在一个领域中学习的技能延伸到另一个领域:你可以通过编写网页应用来学习 Rust,接着 将同样的技能应用到你的0 码力 | 562 页 | 3.23 MB | 1 月前3
Rust 程序设计语言简体中文版........................ 266 12. 一个 I/O 项目:构建命令行程序 ...................................................................................... 272 12.1. 接受命令行参数 .......................................... 安装二进制文件 ........................................................................... 368 14.5. Cargo 自定义扩展命令 .............................................................................................. 369 对低风险的操作,因为编译器会替你找到经典的错误。同时你可以自信地采取更加激进的优 化,而不会意外引入崩溃或漏洞。 但 Rust 并不局限于底层系统编程。它表达力强、写起来舒适,让人能够轻松地编写出命令行 应用、网络服务器等各种类型的代码——在本书中就有这两者的简单示例。使用 Rust 能让你 把在一个领域中学习的技能延伸到另一个领域:你可以通过编写网页应用来学习 Rust,接着 将同样的技能应用到你的0 码力 | 600 页 | 12.99 MB | 1 年前3
Python 标准库参考指南 3.8.20 . . . . . . . . . . . . . . 612 16.4 argparse --- 命令行选项、参数和子命令解析器 . . . . . . . . . . . . . . . . . . . . . . . . . . 621 16.5 getopt --- C 风格的命令行选项解析器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1355 24.2 cmd --- 支持面向行的命令解释器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1388 24.3 shlex ——简单的词义分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1857 36 被取代的模块 1859 36.1 optparse --- 命令行选项的解析器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1859 36.2 imp --- 访问 import0 码力 | 2052 页 | 9.74 MB | 10 月前3
共 396 条
- 1
- 2
- 3
- 4
- 5
- 6
- 40













