返回顶部
首页 > 资讯 > 精选 >go语言中不定参数指的是什么
  • 632
分享到

go语言中不定参数指的是什么

2023-07-05 00:07:14 632人浏览 薄情痞子
摘要

这篇“Go语言中不定参数指的是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“go语言中不定参数指的是什么”文章吧。不定参

这篇“Go语言中不定参数指的是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“go语言中不定参数指的是什么”文章吧。

不定参数是指函数传入的参数个数为不定数量;不定参数声明使用“param ...type”的语法格式。不定参数的特点:1、所有的不定参数类型必须是相同的;2、不定参数必须是函数的最后一个参数;3、不定参数在函数体内相当于一个切片,对切片的操作同样适合对不定参数的操作;4、切片可作为参数传递给不定参数,切片名后要加上“...”;5、形参为不定参数的函数和形参为切片的函数类型不相同。

不定参数是什么

不定参数是指函数传入的参数个数为不定数量。

package mainimport (    "fmt")func Add(a int, args ...int) (result int) {    result += a    for _, arg := range args {        result += arg    }    return}func main() {    fmt.Println(Add(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))}

Go函数支持不定数目的形式参数,不定参数声明使用param ...type的语法格式

不定参数有以下几个特点:

  • ①所有的不定参数类型必须是相同的。

  • ②不定参数必须是函数的最后一个参数。

  • ③不定参数在函数体内相当于一个切片,对切片的操作同样适合对不定参数的操作。

  • ④切片也可以作为参数传递给不定参数,切片名称后面要加上“...”。

package mainimport "fmt"func Add(arr ...int) int {var count intarr1 := arr[1:]for _, val := range arr1 {count += val}return count}func main() {slice := []int{1, 2, 3, 4, 5}//array := [...]int{1, 2, 3, 4}fmt.Println(Add(slice...))//fmt.Println(Add(array...))  //cannot use array (variable of type [4]int) as parameter of type []int}

  • ⑤形参为不定参数的函数和形参为切片的函数类型不相同。

package mainimport "fmt"func Add1(arr ...int) int {return arr[0]}func Add2(arr []int) int {return arr[0]}func main() {fmt.Printf("%T\n", Add1)fmt.Printf("%T\n", Add2)}

go语言中不定参数指的是什么

不定参数的传递

func SetData(args ...int) (result int) {    //不定参数的传递    return Add(1, args...)}func main() {    fmt.Println(SetData(1, 2, 3))//输出7    array := []int{1, 2, 3, 4}    fmt.Println(Add(1, array...))//输出11}

任意类型的不定参数

func MyPrintf(args ...interface{}) {    for _, arg := range args { //迭代不定参数        switch arg.(type) {        case int:            fmt.Println(arg, "is int")        case string:            fmt.Println(arg, "is string")        case float64:            fmt.Println(arg, "is float64")        case bool:            fmt.Println(arg, " is bool")        default:            fmt.Println("未知的类型")        }    }}func main() {        MyPrintf(12, "haha", 12.5, false, -12.5)}

以上就是关于“go语言中不定参数指的是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: go语言中不定参数指的是什么

本文链接: https://lsjlt.com/news/348600.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • go语言中不定参数指的是什么
    这篇“go语言中不定参数指的是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“go语言中不定参数指的是什么”文章吧。不定参...
    99+
    2023-07-05
  • go语言中反射三定律指的是什么
    这篇文章主要介绍“go语言中反射三定律指的是什么”,在日常操作中,相信很多人在go语言中反射三定律指的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”go语言中反射三定律指的是什么”的疑惑有所帮助!接下来...
    99+
    2023-07-05
  • go语言中sql指的是什么
    今天小编给大家分享一下go语言中sql指的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。SQL是指“结构化查询语言”,...
    99+
    2023-07-04
  • go语言中str指的是什么
    本篇内容主要讲解“go语言中str指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“go语言中str指的是什么”吧!在go语言中,str指的是“字符串”,是一个不可改变的字节序列。字符串可...
    99+
    2023-07-04
  • go语言中切片和数组指的是什么
    本文小编为大家详细介绍“go语言中切片和数组指的是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“go语言中切片和数组指的是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在go语言中,数组是一个由固定长度...
    99+
    2023-07-04
  • go语言中标识符指的是什么
    这篇文章主要介绍“go语言中标识符指的是什么”,在日常操作中,相信很多人在go语言中标识符指的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”go语言中标识符指的是什么”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-07-05
  • go语言元组指的是什么
    这篇文章主要讲解了“go语言元组指的是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“go语言元组指的是什么”吧!元组是固定长度不可变的顺序容器(元素序列),go语言中没有元组类型,数组就...
    99+
    2023-07-04
  • go语言协程指的是什么
    这篇文章主要讲解了“go语言协程指的是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“go语言协程指的是什么”吧!在go语言中,协程(goroutine)是指在后台中运行的轻量级执行线程;...
    99+
    2023-07-04
  • Go语言中匿名变量指的是什么
    今天小编给大家分享一下Go语言中匿名变量指的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在Go语言中,匿名变量就是没...
    99+
    2023-07-05
  • java中什么是不定长参数?
    java中的不定长参数不定长度参数,就是没有规定长度的参数。不定长参数方法的语法如下:返回值 方法名(参数类型...参数名称)在参数列表中使用“...”形式定义不定长参数,其实这个不定长参数就是一个数组,编译器会将(int...a)这种形式...
    99+
    2020-09-13
    java入门 java 不定长参数
  • go语言eof错误指的是什么
    这篇文章主要介绍了go语言eof错误指的是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇go语言eof错误指的是什么文章都会有所收获,下面我们一起来看看吧。在go语言中,eof是指文件结尾错误,是Go语言中...
    99+
    2023-07-05
  • go语言结构体指的是什么
    这篇文章主要介绍“go语言结构体指的是什么”,在日常操作中,相信很多人在go语言结构体指的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”go语言结构体指的是什么”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-07-04
  • go语言字面量指的是什么
    本文小编为大家详细介绍“go语言字面量指的是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“go语言字面量指的是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在go语言中,字面量(literal)是用于表...
    99+
    2023-07-04
  • GO语言不固定参数函数与匿名函数的使用
    目录不固定参数函数匿名函数 不固定参数函数 在go语言中,允许对函数设置不固定参数。不过需要注意的是,虽然不限制参数数量,但限制了参数的数据类型。 从原理分析,不固定参数利...
    99+
    2023-03-19
    GO语言不固定参数函数 GO语言 匿名函数
  • go语言中函数的定义是什么及怎么调用
    本文小编为大家详细介绍“go语言中函数的定义是什么及怎么调用”,内容详细,步骤清晰,细节处理妥当,希望这篇“go语言中函数的定义是什么及怎么调用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在go语言中,函数是组...
    99+
    2023-07-04
  • go语言指的是什么开源协议
    小编给大家分享一下go语言指的是什么开源协议,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!go语言采用BSD开源协议。BSD开源协议是一个给于使用者很大自由的协议...
    99+
    2023-06-15
  • go语言控制反转指的是什么
    这篇文章主要介绍了go语言控制反转指的是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇go语言控制反转指的是什么文章都会有所收获,下面我们一起来看看吧。在go语言中,控制反转(IoC)是面向对象编程中的一种...
    99+
    2023-07-05
  • go语言依赖注入指的是什么
    本篇内容介绍了“go语言依赖注入指的是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在go语言中,依赖注入(DI)是一种解耦组件之间依赖...
    99+
    2023-07-05
  • Go语言类型别名指的是什么
    这篇文章主要介绍了Go语言类型别名指的是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Go语言类型别名指的是什么文章都会有所收获,下面我们一起来看看吧。在Go语言中,类型别名就是为已存在的“类型”定义一个别...
    99+
    2023-07-05
  • go语言数组是什么
    Go语言中的数组是一种复合数据类型,用于存储固定大小、相同类型的元素序列。数组是一种非常基础的数据结构,在程序设计中具有广泛的应用场景。详细介绍:在Go语言中,数组的长度是一个非常重要的概念。数组决定了数组可以容纳的元素的数量,也决定了数组...
    99+
    2023-12-12
    go语言 Golang go语言数组
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作