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)
    
    }

  • 相关阅读:
    windows下的tfjs-node安装异常总结
    微信小游戏广告位iphonex底部适配问题
    JS做深度学习3——数据结构
    JS做深度学习2——导入训练模型
    ASP.NET MVC4网站搭建与发布【最新】
    JS做深度学习1——偶然发现与入门
    聊聊H5与JS近几年的黑科技
    Mysql中让两个字段不同时相同的方法
    JUnit4在Eclipse中的使用
    编写DAO,通过JdbcTemplate操作数据库的实践
  • 原文地址:https://www.cnblogs.com/yinzhengjie2020/p/12301010.html
Copyright © 2011-2022 走看看