Go vs. GoPlus(Go+)有更低的学习门槛 • 形式上比 Go 更像脚本,有更低的学习门槛(和 Python 相当) • 更简洁的数学运算上的语法支持(相比 Go) • 当前 Go+ 已经拥有 3 个种子用户(13-14岁) • 有理数 • Map • Slice • List comprehension • For range 双引擎:既可静态编译,也可解析执行 • 既支持静态编译为可执行文件来执行,也支持编译成字节码方式0 码力 | 54 页 | 1.82 MB | 1 年前3
Go 入门指南(The way to Go)或者 a[i]=b[i++] 这些可以用于 C、C++ 和 Java 中的写法在 Go 中也是不允许的。 在运算时 溢出 不会产生错误,Go 会简单地将超出位数抛弃。如果你需要范围无限大的整数或者有理数 (意味着只被限制于计算机内存),你可以使用标准库中的 big 包,该包提供了类似 big.Int 和 big.Rat 这样的类型(第 9.4 节)。 4.5.2.6 随机数 一些像游戏或者统计学类的应用需要用到随机数。 big.Int 和 表示大有理数的 big.Rat 类型(可以表示为 2/5 或 3.1416 这样的分数,而不是无理数或 π)。这些类型 可以实现任意位类型的数字,只要内存足够大。缺点是更大的内存和处理开销使它们使用起来要比内置的 数字类型慢很多。 大的整型数字是通过 big.NewInt(n) 来构造的,其中 n 位 int64 类型整数。而大有理数是用过 big.NewRat(N 方法构造。N(分子)和 D(分母)都是 int64 型整数。因为 Go 语言不支持运算符 重载,所以所有大数字类型都有像是 Add() 和 Mul() 这样的方法。它们作用于作为 receiver 的整数和 有理数,大多数情况下它们修改 receiver 并以 receiver 作为返回结果。因为没有必要创建 big.Int 类型 的临时变量来存放中间结果,所以这样的运算可通过内存链式存储。 示例 9.20 码力 | 380 页 | 2.97 MB | 1 年前3
Go 入门指南(The way to Go)a[i]=b[i++] 这些可以用于 C、C++ 和 Java 中的写法在 Go 中也是不允许的。 在运算时 溢出 不会产生错误,Go 会简单地将超出位数抛弃。如果你需要范围无限大的整数或者有理数(意味着只 被限制于计算机内存),你可以使用标准库中的 big 包,该包提供了类似 big.Int 和 big.Rat 这样的类 型(第 9.4 节)。 4.5.2.4 逻辑运算符 big.Int 和表 示大有理数的 big.Rat 类型(可以表示为 2/5 或 3.1416 这样的分数,而不是无理数或 π)。这些类型可以 实现任意位类型的数字,只要内存足够大。缺点是更大的内存和处理开销使它们使用起来要比内置的数字类型慢很 多。 大的整型数字是通过 big.NewInt(n) 来构造的,其中 n 为 int64 类型整数。而大有理数是用过 big.NewRat(N D(分母)都是 int64 型整数。因为 Go 语言不支持运算符重载,所 以所有大数字类型都有像是 Add() 和 Mul() 这样的方法。它们作用于作为 receiver 的整数和有理数,大 多数情况下它们修改 receiver 并以 receiver 作为返回结果。因为没有必要创建 big.Int 类型的临时变量 来存放中间结果,所以这样的运算可通过内存链式存储。 示例0 码力 | 466 页 | 4.44 MB | 1 年前3
共 3 条
- 1













