go语言学习笔记 — 基础 — 函数:可变参数

Posted Locutus

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言学习笔记 — 基础 — 函数:可变参数相关的知识,希望对你有一定的参考价值。

1. 函数入参

函数声明与函数调用时,可以不设置固定数量的参数。格式如下:

func 函数名(固定参数列表, v ...T) (返回参数列表) {
    函数体
}
  • 函数入参的前面是固定参数列表,末尾一般放置可变参数。当没有固定参数列表时,所有入参变量都是可变参数
  • 可变参数只能出现在入参的后半部分,因此固定参数只能放在入参的前半部分
  • v是可变参数变量,类型为[]T,也就是含有多个元素的T类型切片。v与T之间由“…”3个点组成
  • T为可变参数类型,当T为interface{}时,传入参数可为任意类型

2. 可变参数的形式

  • 所有入参都是可变参数

fmt.Println的函数声明如下:

func Println(a ...interface{}) (n int, err error){
    return Fprintln(os.Stdout, a...)
}

fmt.Println()的入参值类型不受限制。例如:

fmt.Println(5, "hello", &struct{ a int}{1}, true)
  • 部分入参是可变参数

fmt.Printf()的第一个入参为固定参数列表,后面的参数是可变参数。

func Printf(format string, a ...interface{}) (n int, err error) {
    return Fprintf(os.Stdout, format, a...)
}

在调用fmt.Printf()函数时,第一个固定参数必须是字符串(对应参数变量是format),后面的参数数量可以变化。


3. 遍历可变参数列表(获取每一个参数的值)

详见go_learning

以上是关于go语言学习笔记 — 基础 — 函数:可变参数的主要内容,如果未能解决你的问题,请参考以下文章

go语言学习笔记 — 基础 — 函数:函数的返回值

go语言学习笔记 — 基础 — 函数:函数声明

go语言学习笔记 — 基础 — 函数:函数调用

go语言基础-函数应用

go语言学习笔记 — 基础 — 基本数据类型 — 字符串:字符串格式化输出

go语言学习笔记 — 基础 — 基本语法 — 常量与变量 — 变量作用域:能够使用变量的代码范围