zoukankan      html  css  js  c++  java
  • Golang函数-不定参数列表和多返回值函数

             Golang函数-不定参数列表和多返回值函数

                                 作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

     

     

     

     

    一.不定参函数

    1>.不定参数的产生背景

      在定义函数的时候根据需求指定参数的个数和类型,但是有时候如果无法确定参数的个数,此时我们就可以通过"不定参数列表"来解决这个问题,Go语言的不定参数列表和Python中的"*args"有着异曲同工之妙。

      Go语言使用不定参数列表语法格式如下:
        func 函数名(数据集合 ...数据类型)

    2>.不定参数的案例

    package main
    
    import (
        "fmt"
    )
    
    /*
        不定参函数定义:
            计算N个整形数据的和
    */
    func sum(arr ...int) int {
        value := 0
        /*
            使用数组下标进行遍历
        */
        //for index := 0; index < len(arr); index++ {
        //    value += arr[index]
        //}
    
        /*
            使用range关键字进行范围遍历,range会从集合中返回两个数:
                第一个是对应的坐标,赋值给了匿名变量"_"
                第二个对应的是值,赋值给了变量"data"
        */
        for _, data := range arr {
            value += data
        }
        return value
    }
    
    func main() {
        /*
            我们在调用函数时可以指定函数参数的个数不尽相同。
        */
        fmt.Println(sum(1, 2, 3))
        fmt.Println(sum(1, 2, 3, 4, 5))
        fmt.Println(sum(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))
    }

    二.多返回函数

    package main
    
    import (
        "fmt"
    )
    
    /*
        函数的返回值是通过函数中的return语句获得的,return后面的值也可以是一个表达式,只要返回值类型和定义的返回值列表所匹配即可。
        Go语言支持多个返回值。
    */
    func test() (x int, y float64, z string) {
    
        return 18, 3.14, "尹正杰"
    }
    
    func main() {
    
        /*
            如果函数定义了多个返回值,就需要使用多个变量来接收这些返回值
            可以使用匿名变量("_")来接收不使用的变量的值,因此我们无法将匿名变量的值取出来
        */
        a, _, c := test()
        fmt.Println(a)
        fmt.Println(c)
    
    }

  • 相关阅读:
    伪元素改变placeholder占位符属性的默认样式实例页面
    盒子中margin重叠问题
    html或CSS的图片如何随着网页界面的缩小或放大跟着左右移动 ?
    相对路径与绝对路径
    Html5 Canvas小知识
    dl,dt,dd怎么用
    雪碧图
    linux--mysql图形工具 tora
    apt-get彻底卸载删除软件http://www.tennfy.com/1518.html
    【转】 httpclient 模拟浏览器动作需注意的cookie和HTTP头等信息
  • 原文地址:https://www.cnblogs.com/yinzhengjie2020/p/12301010.html
Copyright © 2011-2022 走看看