来自一位国外前端程序员学习go语言的功能第三部分

2023-06-01 00:00:00 语言 程序员 国外

主人公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 - 我不知道如何在这里修复它)

相关文章