go语言学习笔记 — 基础 — 高级数据类型 — 函数(8):可变参数

本文介绍了Go语言中函数可变参数的使用,包括如何声明和调用带有可变参数的函数。fmt.Println和fmt.Printf作为示例,展示了全部可变参数和部分可变参数的用法。同时,讲解了如何遍历可变参数列表来获取每个参数的值。
摘要由CSDN通过智能技术生成

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值