iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Go语言函数怎么定义与使用
  • 927
分享到

Go语言函数怎么定义与使用

2023-07-04 13:07:39 927人浏览 八月长安
摘要

今天小编给大家分享一下Go语言函数怎么定义与使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.前言函数是一段代码的片段,

今天小编给大家分享一下Go语言函数怎么定义与使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

    1.前言

    函数是一段代码的片段,包含连续的执行语句,它可以将零个或多个输入参数映射到零个或多个参数输出。函数像一个黑盒,对它的使用者隐藏实现细节。还可以在代码中通过函数调用来执行它们。

    学到现在,我们使用的 Go 函数只有 main 函数:

    func main() {}

    2.函数声明

    每个函数都包含 func 关键字、函数名、输入参数列表、一个可选的返回列表以及函数体

    func name(parameter-list) (result-list) {    function body}
    • func 关键字:Go 语言使用 func 关键字来声明一个函数。类似 pythondef 关键字。

    • 函数名:紧跟 func 关键字后的事函数名称,函数名必须是一个标识符,即不能跟 Go 语言关键字冲突

    • 输入参数列表(形参列表):输入参数声明列表必须用一对小括号括起来,指定一组变量的参数名参数类型,这些局部变量都由调用者提供的实参传递而来。

    • 输出结果列表(返回列表):指定了函数返回值的类型。当函数返回一个未命名的返回值或者没有返回值的时候,返回列表的圆括号可以省略。在 Go 中,一个函数可以有多个返回值。

    • 函数体:函数体必须用一对大括号括起来。一对大括号和它其间的代码形成了一个显式代码块。在一个函数体内, return 关键字可以用来结束此函数的正常执行流程并进入此函数的退出阶段。

    2.1 函数例子

    接下来,看一个简单的 Go 整数计算器的 加、减、乘、除 函数的例子。

    package mainimport "fmt"func add(num1 int, num2 int) (num3 int) {    num3 = num1 + num2    return}func subtract(num1 int, num2 int) int {    num3 := num1 - num2    return num3}func multiply(num1 int, num2 int) int {    result := num1 * num2    return result}func divide(num1 int, num2 int) (result int) {    if num2 != 0 {        result = num1 / num2    } else {        panic("division by zero")    }    return result}func main() {    fmt.Printf("2021 + 19 = %d\n", add(2021, 19))    fmt.Printf("2021 - 19 = %d\n", subtract(2021, 19))    fmt.Printf("2021 * 19 = %d\n", multiply(2021, 19))    fmt.Printf("2021 / 19 = %d\n", divide(2021, 19))    // fmt.Printf("2021 / 0 = %d\n", divide(2021, 0))}

    结果为:

    2021 + 19 = 2040
    2021 - 19 = 2002
    2021 * 19 = 38399
    2021 / 19 = 106

    如果我们除以 0 的话,调用了一个叫做 panic 的内置函数,该函数会导致一个运行时的错误。还会得到一个异常,异常也会在接下来的博客中学习到。

    panic: division by zerogoroutine 1 [running]:main.divide(...)...

    2.2 Go 函数支持多返回值

    Go 支持一个函数返回多个值:

    func f() (int, int){    return 2014, 2021}func main() {    x, y := f()}

    这里需要做三个改变:

    • 返回类型改变:多个返回类型用多个逗号,分隔的类型,

    • 改变 return 后的表达式:使其包含多个逗号, 的表达式,

    • 最后改变赋值语句,使多个值都在 :== 的左边

    多个返回值一般用于返回 error,例如 (x, err := f()) , 或者返回一个布尔值表示成功,如 (x, ok := f()) .

    2.3 变量函数

    对于 Go 函数中的最后一个参数,有一种特殊的形式可以使用:

    func add(args ...int) int {    total := 0    for _, v := range args {        total += v    }    return total}func main() {    fmt.Println(add(1,2,3))}

    通过在最后一个参数的类型名称前使用 ... ,你可以表示它需要零个或多个这些 参数。在这种情况下,我们需要零个或多个整数。我们像其他函数一样调用该函数,而且可以传递我们想要的任何数量的变量。

    这正是 fmt.Println 函数的实现方式:

    func Println(a ...interface{}) (n int, err error)

    Println() 函数可以接受任何数量的任何类型的值。我们也可以通过在 slice 后面加上 ... 来传递一个 ints 的 slice 。

    func main() {    s1 := []int{1,2,3}    fmt.Println(add(s1...))}

    2.4 闭包

    可以在函数内部创建函数。

    func main() {    add := func(x, y int) int {        return x + y    }    fmt.Println(add(1,1))}

    add 是一个局部变量,其类型为 func(int, int) int(一个函数接收两个 int 参数,并返回一个 int 参数)。当你创建一个像这样的局部函数时,它还可以访问其他局部变量。

    2.5 递归

    最后,一个函数能够调用自己。下面是一种方法来计算一个数字的阶乘。

    package mainimport "fmt"func factorial(x uint) uint {    if x == 0 {        return 1    }    return x * factorial(x-1)}func main() {    fmt.Println(factorial(4))}

    闭包和递归是强大的编程技术,它构成了被称为函数式编程的范式的基础。大多数人都会发现函数式编程比以下方法更难理解:for 循环、if 语句、变量和简单函数的方法。

    以上就是“Go语言函数怎么定义与使用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

    --结束END--

    本文标题: Go语言函数怎么定义与使用

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

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

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • Go语言函数怎么定义与使用
      今天小编给大家分享一下Go语言函数怎么定义与使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.前言函数是一段代码的片段,...
      99+
      2023-07-04
    • Go语言入门之函数的定义与使用
      目录1.前言2.函数声明2.1 函数例子2.2 Go 函数支持多返回值2.3 变量函数2.4 闭包2.5 递归3.总结1.前言 函数是一段代码的片段,包含连续的执行语句,它可以将零个...
      99+
      2024-04-02
    • go语言中函数与方法怎么定义
      这篇“go语言中函数与方法怎么定义”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“go语言中函数与方法怎么定义”文章吧。一、怎...
      99+
      2023-07-02
    • Go语言学习之函数的定义与使用详解
      目录1、函数定义2、多值返回3、引用传递4、函数作为实参使用5、匿名函数1、函数定义 函数的定义和java一样,使用{}进行包裹,并且要明确入参类型以及返回类型。 样例代码如下: f...
      99+
      2024-04-02
    • C语言的函数怎么定义和使用
      本篇内容主要讲解“C语言的函数怎么定义和使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言的函数怎么定义和使用”吧!关于函数函数是C语言的基本单元,函数中包含实现程序功能的代码。C语言程序...
      99+
      2023-06-30
    • Go语言变量怎么定义和使用
      这篇“Go语言变量怎么定义和使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言变量怎么定义和使用”文章吧。在Go语言...
      99+
      2023-07-04
    • go语言中函数的定义是什么及怎么调用
      本文小编为大家详细介绍“go语言中函数的定义是什么及怎么调用”,内容详细,步骤清晰,细节处理妥当,希望这篇“go语言中函数的定义是什么及怎么调用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在go语言中,函数是组...
      99+
      2023-07-04
    • GO语言不固定参数函数与匿名函数的使用
      目录不固定参数函数匿名函数 不固定参数函数 在go语言中,允许对函数设置不固定参数。不过需要注意的是,虽然不限制参数数量,但限制了参数的数据类型。 从原理分析,不固定参数利...
      99+
      2023-03-19
      GO语言不固定参数函数 GO语言 匿名函数
    • c语言怎么调用自定义函数
      要调用自定义函数,可以按照以下步骤进行:1. 在调用自定义函数之前,需要先进行函数的声明。函数声明一般写在程序的开头部分,表示该函数...
      99+
      2023-09-15
      c语言
    • c语言怎么定义函数并调用
      c语言中定义和调用函数的步骤:定义函数:使用return_type function_name (parameter_list) { 函数体 }语法,指定返回类型、函数名、参数列表和函数...
      99+
      2024-05-13
      c语言
    • C语言函数有哪些及怎么定义使用
      本篇内容介绍了“C语言函数有哪些及怎么定义使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、函数是什么?维基百科中对函数的定义:子程序在...
      99+
      2023-06-30
    • Go语言中的函数与方法怎么使用
      这篇文章主要介绍了Go语言中的函数与方法怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Go语言中的函数与方法怎么使用文章都会有所收获,下面我们一起来看看吧。函数定义语法与大部分语言一致,Go语言中的函数...
      99+
      2023-07-02
    • GO语言不固定参数函数与匿名函数如何使用
      这篇文章主要介绍“GO语言不固定参数函数与匿名函数如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“GO语言不固定参数函数与匿名函数如何使用”文章能帮助大家解决问题。不固定参数函数在go语言中,...
      99+
      2023-07-05
    • go语言预定义标识符怎么使用
      本文小编为大家详细介绍“go语言预定义标识符怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“go语言预定义标识符怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。go语言预定义标识符有36个,主要包含...
      99+
      2023-07-05
    • go语言的匿名函数如何定义
      这篇文章主要讲解了“go语言的匿名函数如何定义”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“go语言的匿名函数如何定义”吧!go语言的匿名函数定义方法是“func(参数列表)(返回参数列表)...
      99+
      2023-07-04
    • 如何在Go语言中定义和调用函数
      在Go语言中定义和调用函数 Go语言是一种快速、简洁且安全的编程语言,它的函数是一等公民,因此在Go语言中定义和调用函数非常简单和灵活。本文将介绍如何在Go语言中定义和调用函数,并提供...
      99+
      2024-03-10
      go语言 调用函数 定义函数
    • c语言中怎么定义bit函数
      在C语言中,可以使用位域(bit-field)来定义一个函数。位域是一种特殊的结构体成员,可以指定成员占用的位数。 下面是一个例子,...
      99+
      2023-10-23
      c语言
    • Go语言的变量与常量怎么定义
      这篇文章主要介绍“Go语言的变量与常量怎么定义”,在日常操作中,相信很多人在Go语言的变量与常量怎么定义问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Go语言的变量与常量怎么定义”的疑惑有所帮助!接下来,请跟...
      99+
      2023-07-05
    • c语言怎么自定义函数并调用
      c语言中自定义函数需遵循以下步骤:函数头:声明返回类型、名称和参数列表。函数体:包含执行任务的代码块。调用自定义函数时,使用函数名称和参数列表。 如何在 C 语言中自定义函数并调用 在...
      99+
      2024-05-13
      c语言
    • Go语言之init函数怎么使用
      今天小编给大家分享一下Go语言之init函数怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。init函数会在main函...
      99+
      2023-07-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作