来自一位国外前端程序员学习go语言的功能第三部分
主人公Magda Rosłaniec是一位来自波兰苏瓦基的前端开发人员,
我在网上看到她的文章我觉得很有意思,所以记录顺便复习一下里面的go基础知识
前面两篇文章是写着第一天,第二天,后面我在dev.to上面她把这关键字改成了第一、二、三部分
我这里也改成第三部分,之前的就不变了
我今天的主题是函数。
函数是 Go 编程的核心。
1.我们可以声明自己的函数并在包中的每个位置调用它们。
2.通常,函数的名称以小写字母开头,但名称以大写字母开头的函数可以在包外使用。
3.每个函数可以接受零个或多个参数。如果我们的函数接受参数,我们必须声明它们的类型。
我们将参数的名称及其类型写在函数名称后面的括号中。如果我们想传递多个参数,我们需要用逗号分 隔每个声明。
func sum(a int, b int) {
fmt.Println(a + b)
}
如果参数是相同的类型,我们可以将类型添加到
只有最后一个。 func sum(a, b int) 这意味着两者参数的类型相同。
4.现在,我们可以在 main() 函数中调用我们的函数。
我们不能忘记传递参数(当然,如果该功能需要任何)。
package main
import “fmt”
func main() {
sum(5, 7)
}
func sum(a int, b int) {
fmt.Println(a + b)
}
如果我们希望能够使用函数的输出,我们需要返回一些东西。 仅打印结果的功能不会“持续很长时间”。
在上面的示例中,该函数仅打印两个数字的总和,但随后会删除结果。
如果我们想构建一个简单的计算器,我们的 sum 函数可能会非常有用,但前提是我们添加了 return 语句。
还有一件事。
我们已经声明了函数采用的参数类型,现在我们还必须声明函数返回值的类型。
我们在带参数的括号之后添加它。
让我们将这两个元素添加到我们的 sum 函数中:
func sum (a, b int) int {
return a + b
}
函数可以返回多个值,因此我们必须声明所有这些值。
然后我们将它们全部放入另一对括号中。 我们来看看除法函数。
在我们的计算器上工作时,我们应该记住不可能被零除。
我们必须处理这种情况。
func divide(a, b float64) (float64, error) {
if b == 0.0 {
return 0, errors.New(“You can’t divide by zero”) //1
}
return a / b, nil //2
}
现在,当我们声明我们的函数将返回两个值时,我们必须在每个 return 语句中都有这两个值。
这就是为什么在第一个 if 块 (1) 中我们有两个元素,其中一个可以为零,另一个是有关错误的信息。
如果参数 b 不等于 0,则将执行下一个块 (2)。
这里我们还需要返回 2 个值:
除法的结果和 nil。 Nil 告诉我们,我们的函数没有错误。
我认为这些是 Go 中函数的基础。
(如果你能看到 li 元素的数量很奇怪 - 就像一堆 1 - 我不知道如何在这里修复它)
相关文章