蹒跚学Go第二天

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

内容简介:函数就是将一堆代码进行重用的一种机制。函数就是一段代码,一个函数就像一个专门做这件事的人,我们调用它来做一些事情,它可能需要我们提供一些数据给它,它执行完成后可能会有一些执行结果给我们。要求的数据就叫参数,返回的执行结果就是返回值。在定义函数的时候根据需求指定参数的个数和类型,但是有时候如果无法确定参数的个数呢?

函数

函数就是将一堆代码进行重用的一种机制。函数就是一段代码,一个函数就像一个专门做这件事的人,我们调用它来做一些事情,它可能需要我们提供一些数据给它,它执行完成后可能会有一些执行结果给我们。要求的数据就叫参数,返回的执行结果就是返回值。

基本语法

func 函数名(){
  函数体
}
  • 例子
func main()  {
    var num,num1 int
    for i := 0; i < 2 ; i++ {
        fmt.Printf("输入第%d数字:\n",i)
        fmt.Scanf("%d",#)
        if i == 1{
            num1=num
        }
    }
    add(num,num1)
}

不定参数列表

在定义函数的时候根据需求指定参数的个数和类型,但是有时候如果无法确定参数的个数呢?

  • args后面跟了三个点,就是表示该参数可以接收0或多个整数值
  • args这个参数可以想象成是一个集合(类似数学中集合),可以存放多个值。

  • args有下角标如果用 Python 可以使用list来理解

例子一:

func add(args ...int)  {
    for i := 0; i <= len(args); i++ {
        fmt.Printf("当前多少次:%d\n",i)
    }
}

func main()  {
    add(1,2,3)
    add(1,2,34,4,5,12,12,123,3,4532,234,234,234,234234,234,234,234)

例子二:

  • range值管饱管够,args结束整个add函数结束
  • range会从集合中返回两个数,第一个是对应的坐标,赋值给了变量i,第二个就是对应的值,赋值了变量data

func add(args ...int)  {
    for i , data := range args {
        fmt.Println("编号:",i)
        fmt.Println("值:",data)
    }
}

func main()  {
    add(1,2,3)
}

注意项

  • 一定(只能)放在形参中的最后一个参数
  • 在对函数进行调用时,固定参数必须传值,不定参数可以根据需要来决定是否要传值

蹒跚学Go第二天

实例二

  • ( _ ),该下划线表示匿名变量,丢弃数据不进行处理,也就是任何赋予它的值都会被丢弃

蹒跚学Go第二天

函数嵌套调用


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

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

网络流

网络流

拉文德拉K.阿胡亚 托马斯L.马南提 詹姆斯B.沃林 / 机械工业出版社 / 2005-5 / 108.0

本书全面介绍了经典的和现代的网络流技术,包括综合的理论、算法与应用。主要内容包括:路径、树与周期,算法设计与分析,最大流与最小流算法,分派与匹配,最小生成树,拉格朗日松弛与网络优化等。书中包含大量练习题,拓展了本书的内容,便于教学。一起来看看 《网络流》 这本书的介绍吧!

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

RGB CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具