Go并发编程实战
上QQ阅读APP看书,第一时间看更新

2.9 演练:原子计算器

原子计算器(Atom Calculator)是一种根据原子成分(质子、中子和电子)的数量计算原子数和质量数的工具。我们可以用已知数量的质子和电子来定义离子的电荷。原子由原子序数(符号Z)作为唯一标识。原子序数是原子核中存在的质子数。对于不带电的原子,原子序数等于电子序数。在离子中,电子数是离子的原子数和电荷之间的差。在阳离子中,电子比质子少;在阴离子中,电子比质子多。同一种化学元素与不同数量中子的变体称为同位素。质子和中子决定一个原子的质量。质量数(符号A)是质子和中子数的总和。

假如我们知道质子(p)、中子(n)和电子(e)的数目,就可以计算原子序数(Z)、原子质量(A)和电荷(c),如方程式2-1~2-3所示。

基于上述方程式,可以用Go语言进行实现,下面给出简易的原子计算器示例程序2-24,其中为了可以连续地处理用户输入,用到了for无限循环。关于逻辑控制语句会在后续章节进行详细介绍,这里只需了解即可。

示例程序2-24 原子计算器:chapter02\code08\main.go

在示例程序2-24中,第09~13行用3种不同的变量声明方式声明了代表质子、中子和电子的变量p、n和e。第14~16行用fmt.Println输出关于当前计算器的一些说明信息。第18行用fmt.Scanln方法获取用户输入,其中有3个值,可以用空格分隔,获取用户的输入后分别赋值给变量p、n和e。最终按照方程式2-1~2-3进行计算,最后输出结果。在命令行执行go run .\main.go命令,结果如图2.12所示。

图2.12 原子计算器运行的界面