

在 Go 语言中定义函数 — blog.huangz.me
source link: https://blog.huangz.me/2020/define-function-in-go.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

在 Go 语言中定义函数¶
到目前为止,
本书中的代码都放在了 main
函数里面,
但是在处理诸如环境监测程序等更为大型的程序时,
把问题拆分成更小的部分将会非常有用。
使用多个不同的函数组织代码能够令代码更易于理解、复用和维护。
传感器显示的温度数据应该使用人类能够理解的单位。 假设传感器基于开氏温标提供数据, 其中 0°K 为绝对零度, 也就是理论上的最低温度。 代码清单 12-1 展示了一个将开氏度转换至摄氏度的函数。 在定义了这个转换函数之后, 我们就可以在每次需要进行同样的温度转换时复用该函数。
代码清单 12-1 将开氏度转换为摄氏度: kelvin.go
package main import "fmt" // kelvinToCelsius 函数会将开氏度转换为摄氏度 func kelvinToCelsius(k float64) float64 { //声明一个函数,它接受单个形参并返回单个值 k -= 273.15 return k } func main() { kelvin := 294.0 celsius := kelvinToCelsius(kelvin) // 调用函数并传递开氏度作为实参 fmt.Print(kelvin, "°K is ", celsius, "°C") // 打印出“294°K is 20.850000000000023°C” }
代码清单 12-1 中展示的 kelvinToCelsius
函数接受一个形参,
它的名字为 k
而类型为 float64
。
这个函数的注释也遵循了 Go 语言的惯例,
它先写下了函数的名字,
然后再介绍函数的具体行为。
除此之外,
kelvinToCelsius
函数还会通过关键字 return
,将一个 float64
类型的值返回给调用者,
而它的调用者 main
函数则会将其用于初始化 celsius
变量。
另外需要注意的是, 在同一个包中声明的函数在调用彼此时不需要加上包名作为前缀。
本文摘录自《Go语言趣学指南》第 12 章, 你可以通过访问 gpwgcn.com 来获得该书的更多信息。

Recommend
-
9
在 Go 语言中定义新类型¶ Go 声明了许多类型, 我们在第 2 单元已经看到过其中的相当一部分, 但是这些类型有时候并不能充分地描述我们想要持有的值。 声明新类型不仅能够让...
-
16
Go 语言中的字符、代码点、符文和字节¶ 统一码联盟(Unicode Consortium)把名为代码点的一系列数值赋值给了上百万个独一无二的字符。 例如, 大写字母 A 的代码点为
-
16
Go 语言中的字符串¶ 我们从最初的 "Hello, playground" 开始就已经在程序里使用文本了。 在 Go 程序中, 独立的字母、数字和符号被统称为字符, 而通过拼接多个字符并使...
-
8
Go 语言中的整数回绕现象¶ 整数类型虽然不会像浮点类型那样因为舍入错误而导致不精确, 但整数类型也有它们自己的问题, 那就是有限的取值范围。 在 Go 语言中, 当超...
-
13
Go 语言中的十六进制数字¶ 层叠样式表(CSS)通过十六进制数字而不是十进制数字来指定颜色。 与十进制只使用 10 个数字相比, 十六进制需要多用 6 个数字: 其中前 10 个数字跟十...
-
9
Go 语言中的整数¶ 本文摘录自《Go语言趣学指南》第 7 章, 请访问 gpwgcn.com 以获取更多相关信息。
-
13
Go 语言中的浮点数¶ 本文摘录自《Go语言趣学指南》第 6 章, 请访问 gpwgcn.com 以获取更多相关信息。
-
6
Go 语言中的变量作用域范围¶ 本文摘录自《Go语言趣学指南》第 4 章, 请访问 gpwgcn.com 以获取更多相关信息。
-
26
Go 语言中的 for 关键字¶ 本文摘录自《Go语言趣学指南》第 3 章, 请访问 gpwgcn.com 以获取更多相关信息。
-
5
Go 语言中的 switch 语句¶ 本文摘录自《Go语言趣学指南》第 3 章, 请访问 gpwgcn.com 以获取更多相关信息。
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK