GO语言学习笔记(五)GO语言函数的简易计算

栏目: Go · 发布时间: 5年前

内容简介:一、计算示例运行代码,输出结果如下:解释:在GO语言中,函数的定义使用func关键字声明Add是一个函数,函数中需要两个传参,分别是x和y,并指定x和y都是int类型。大括号前的那个int是Add函数的返回值的类型,定义Add函数返回的值也必须是int类型。

一、计算示例

package main

import "fmt"

func main() {
       a := 100
       b := 2

       fmt.Printf("%d + %d = %d\n", a, b, Add(a, b))
       fmt.Printf("%d - %d = %d\n", a, b, Sub(a, b))
       fmt.Printf("%d * %d = %d\n", a, b, Mul(a, b))
       fmt.Printf("%d / %d = %d\n", a, b, Div(a, b))
}

func Add(x, y int) int {
        return x + y
}

func Sub(x, y int) int {
        return x - y
}

func Mul(x, y int) int {
        return x * y
}

func Div(x, y int) int {
        return x / y
}

运行代码,输出结果如下:

100 + 2 = 102
100 - 2 = 98
100 * 2 = 200
100 / 2 = 50

解释:在 GO 语言中,函数的定义使用func关键字声明Add是一个函数,函数中需要两个传参,分别是x和y,并指定x和y都是int类型。大括号前的那个int是Add函数的返回值的类型,定义Add函数返回的值也必须是int类型。

二、多返回值特性

GO语言是一个多返回值类型语言,如果是多个返回值的话,可以写成(int, int), return,必须返回数量相等的返回值,示例如下:

package main

import "fmt"

func vals() (int, int) {
        return 3, 7
}

func main() {
         a, b := vals()
         fmt.Println(a)
         fmt.Println(b)

        _, c := vals()      //使用空白的标识符_,可以选择不接收返回值
         fmt.Println(c)
}

三、匿名函数和闭包

匿名函数:就是没有名称的函数

示例如下:

package main

import "fmt"

func intSeq() func() int {
        i := 0
        return func() int {
                i++
                return i
        }
}

func main() {
        nextInt := intSeq()

        fmt.Println(nextInt())
        fmt.Println(nextInt())
        fmt.Println(nextInt())
}

执行结果如下:

解释:1)func intSeq() func() int {} //首先顶一个intSeq()的函数,这个函数比较特殊,它的返回值也是一个函数func(),func()这个函数呢是没有名称的函数,也就是 匿名函数 ,因为func()是在intSeq这个函数中的函数,所以func()又可以被称为 闭包 ,最终intSeq()是将func()函数作为返回值返回。

2)nextInt := intSeq() //把intSeq()函数赋值给nextInt这个变量

3)fmt.Println(nextInt()) //输出nextInt的值,nextInt就调用intSeq()

4)

i := 0

return func() int {

i++

return i //给i变量初始化一个值为0,因为nextInt调用intSeq(),而func()的返回值就是intSeq()的返回值,则变量i循环增加,每次增加1,就这样每循环一次,新的i的变量就得到新值,i就把值返回给func()这个匿名函数,然后func()这个匿名函数又把值返回给intSeq()这个函数,然后intSeq()函数又把值赋值给nextInt变量,最终输出出来。


以上所述就是小编给大家介绍的《GO语言学习笔记(五)GO语言函数的简易计算》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

编写可读代码的艺术

编写可读代码的艺术

Boswell, D.、Foucher, T. / 尹哲、郑秀雯 / 机械工业出版社 / 2012-7-10 / 59.00元

细节决定成败,思路清晰、言简意赅的代码让程序员一目了然;而格式凌乱、拖沓冗长的代码让程序员一头雾水。除了可以正确运行以外,优秀的代码必须具备良好的可读性,编写的代码要使其他人能在最短的时间内理解才行。本书旨在强调代码对人的友好性和可读性。 本书关注编码的细节,总结了很多提高代码可读性的小技巧,看似都微不足道,但是对于整个软件系统的开发而言,它们与宏观的架构决策、设计思想、指导原则同样重要。编......一起来看看 《编写可读代码的艺术》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具