迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Go >

Golang 可变函数示例

作者:迹忆客 最近更新:2023/01/17 浏览次数:

Go (Golang) 和其他主要编程语言一样支持可变参数函数。 可变参数函数是接受可变数量的相同类型参数的函数。 也定义为不定元数的函数。

可变参数函数在将可变数量的参数传递给 Go 函数时特别有用。

如何在 Go (Golang) 中定义可变参数函数

要定义可变参数函数,我们只需添加

func multiply(args ...int)

三个点后跟可变参数所属的类型。 在我们的例子中,argsit 只是一个 int 切片,我们可以像任何其他常规切片一样对其进行范围调整。


如何在 Go (Golang) 中使用可变参数函数

要将参数传递给可变参数函数,我们可以传递任意参数,只要类型是我们在函数签名中定义的类型即可。 我们也可以传递零参数

multiply()
multiply(1)
multiply(1, 2, 3, 4)

Go (Golang) 中的可变参数函数示例

让我们看几个例子来澄清一下。

package main

import (
    "fmt"
)

func main() {
    fmt.Println(multiply())
    fmt.Println(multiply(2))
    fmt.Println(multiply(1, 2, 3))
    fmt.Println(multiply(1, 2, 3, 4, 0))
}

func multiply(args ...int) int {
    acc := 1
    for _, n := range args {
      acc *= n
    }

    return acc
}

以上程序返回以下内容

Golang 可变函数

大家还可以点击 运行示例 进行在线运行。


在 Go (Golang) 中使用带有可变函数的切片

只要使用以下表示法,我们也可以将切片直接传递给 Go (Golang) 中的可变参数函数。

nums := []int{1, 2, 3, 4}
multiply(nums...)

上面的表示法允许我们直接使用 ... 运算符将切片传递给可变参数函数。 我们可以在官方 Go Wiki 中查看更多切片技巧

让我们看一个关于如何在 Go 中将切片传递给可变参数函数的完整示例

package main

import (
    "fmt"
)

func main() {
    fmt.Println(multiply([]int{}...))
    fmt.Println(multiply([]int{2}...))
    fmt.Println(multiply([]int{1, 2, 3}...))
    fmt.Println(multiply([]int{1, 2, 3, 4, 0}...))
}

func multiply(args ...int) int {
    acc := 1
    for _, n := range args {
      acc *= n
    }

    return acc
}

以上程序返回以下内容

Golang 可变函数

大家也可以点击 运行示例 在线查看结果。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Golang 中的零值 Nil

发布时间:2023/04/27 浏览次数:166 分类:Go

本篇文章介绍 nil 在 Golang 中的含义,nil 是 Go 编程语言中的零值,是众所周知且重要的预定义标识符。

Golang 中的 Lambda 表达式

发布时间:2023/04/27 浏览次数:93 分类:Go

本篇文章介绍如何在 Golang 中创建 lambda 表达式。Lambda 表达式似乎不存在于 Golang 中。 函数文字、lambda 函数或闭包是匿名函数的另一个名称。

在 Go 中使用断言

发布时间:2023/04/27 浏览次数:181 分类:Go

本篇文章介绍了 assert 在 GoLang 中的使用。在 Go 语言中使用断言:GoLang 不提供对断言的任何内置支持,但我们可以使用来自 Testify API 的广泛使用的第三方包断言。

Go 中的随机数生成

发布时间:2023/04/27 浏览次数:114 分类:Go

本篇文章介绍如何在 Go 语言中使用随机数生成功能。Go 中的随机数生成 Go 语言为随机数生成功能提供内置支持。 内置包 math 有方法 rand(),用于随机数生成。

GoLang 电子邮件验证器

发布时间:2023/04/27 浏览次数:195 分类:Go

本篇文章介绍如何在 Go 语言中验证电子邮件。电子邮件需要特定格式; 否则,它们将无法工作。

卸载 GoLang

发布时间:2023/04/27 浏览次数:183 分类:Go

本篇文章介绍如何在不同的操作系统上卸载 GoLang。卸载 Go 语言 只需几个简单的步骤即可卸载 GoLang。 这些步骤对于不同的操作系统是不同的。

在 Go 中使用 Electron API 创建 GUI

发布时间:2023/04/27 浏览次数:124 分类:Go

本篇文章介绍如何在 Go 语言中使用 Electron API 创建 GUI。Electron API 或 Astilectron 用于为 GoLang 创建 GUI。

在 GoLang 中安装包

发布时间:2023/04/27 浏览次数:122 分类:Go

使用 Go 语言的 get 命令安装所需的包非常容易。 Go 语言提供了多种命令来执行某些任务,get 就是其中之一。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便