【golang的函数入门学习】

目录

  • 01 函数定义格式
  • 1. 定义函数
  • 2. 函数的参数
  • 3. 函数的返回值
  • 4. 函数的变长参数

好的,下面我将为您详细讲解Golang中的函数入门知识。

函数是Golang中非常重要的概念,它是一段可重用的代码块,用于完成特定的任务。函数可以接收参数,也可以返回值,是Golang中代码组织和重用的基本单元。

01 函数定义格式

Golang中的函数定义格式如下:

func 函数名(参数列表) 返回值列表 {
    函数体
}

其中:

  • 函数名:函数的名称,用于在程序中调用函数。
  • 参数列表:函数接收的参数,可以是零个或多个,多个参数之间用逗号分隔。
  • 返回值列表:函数返回的结果,可以是零个或多个,多个返回值之间用逗号分隔。
  • 函数体:函数执行的代码块,用于完成特定的任务。

下面我们通过实例来详细介绍Golang中函数的相关知识点。

1. 定义函数

定义函数的语法格式如下:

func 函数名(参数列表) 返回值列表 {
    函数体
}

示例代码:

package main

import "fmt"

// 定义一个名为add的函数,接收两个整数类型的参数,返回它们的和
func add(a, b int) int {
    return a + b
}

func main() {
    // 调用add函数,并将返回值赋值给变量sum
    sum := add(1, 2)
    // 输出sum的值
    fmt.Println(sum)
}

代码解释:

  1. 第5行定义了一个名为add的函数,它接收两个整数类型的参数a和b,返回它们的和。

  2. 第9行开始执行main函数,调用add函数并将返回值赋值给变量sum。

  3. 第11行输出sum的值。

2. 函数的参数

函数的参数可以是任意类型,包括基本类型、结构体、数组、切片、映射、函数等。在Golang中,函数的参数可以有多个,它们之间用逗号分隔。

示例代码:

package main

import "fmt"

// 定义一个名为add的函数,接收两个整数类型的参数,返回它们的和
func add(a, b int) int {
    return a + b
}

// 定义一个名为printPerson的函数,接收一个结构体类型的参数,输出该结构体的信息
func printPerson(person struct {
    name string
    age  int
}) {
    fmt.Printf("Name: %s, Age: %d\n", person.name, person.age)
}

func main() {
    // 调用add函数,并将返回值赋值给变量sum
    sum := add(1, 2)
    // 输出sum的值
    fmt.Println(sum)

    // 定义一个名为p的结构体变量
    p := struct {
        name string
        age  int
    }{
        name: "Tom",
        age:  20,
    }

    // 调用printPerson函数,输出p的信息
    printPerson(p)
}

代码解释:

  1. 第5行定义了一个名为add的函数,它接收两个整数类型的参数a和b,返回它们的和。

  2. 第8行定义了一个名为printPerson的函数,它接收一个结构体类型的参数person,输出该结构体的信息。

  3. 第22行定义了一个名为p的结构体变量。

  4. 第25行调用printPerson函数,将p作为参数传入。

3. 函数的返回值

函数可以返回一个或多个值,这些值可以是不同类型的。在Golang中,函数的返回值可以在函数定义时指定,也可以在函数体中使用return语句返回。

示例代码:

package main

import "fmt"

// 定义一个名为swap的函数,接收两个整数类型的参数,返回它们的值交换后的结果
func swap(a, b int) (int, int) {
    return b, a
}

func main() {
    // 调用swap函数,并将返回值赋值给变量x和y
    x, y := swap(1, 2)
    // 输出x和y的值
    fmt.Println(x, y)
}

代码解释:

  1. 第5行定义了一个名为swap的函数,它接收两个整数类型的参数a和b,返回它们的值交换后的结果。

  2. 第9行开始执行main函数,调用swap函数并将返回值分别赋值给变量x和y。

  3. 第11行输出x和y的值。

4. 函数的变长参数

Golang中的函数可以接收变长参数,这些参数的数量可以是任意的。在函数定义时,可以使用…语法来表示变长参数。

示例代码:

package main

import "fmt"

// 定义一个名为sum的函数,接收任意数量的整数类型参数,返回它们的和
func sum(nums ...int) int {
    total := 0
    for _, num := range nums {
        total += num
    }
    return total
}

func main() {
    // 调用sum函数,传入任意数量的参数
    fmt.Println(sum(1, 2, 3, 4, 5))
    fmt.Println(sum(1, 2, 3))
    fmt.Println(sum(1, 2))
    fmt.Println(sum(1))
    fmt.Println(sum())
}

代码解释:

  1. 第5行定义了一个名为sum的函数,它接收任意数量的整数类型参数nums,返回它们的和。

  2. 第9-12行使用for循环遍历nums中的每个元素,并将它们累加到变量total中。

  3. 第14行开始执行main函数,分别调用sum函数,传入不同数量的参数,并输出它们的和。

  4. 第15-19行分别输出不同数量参数的和。

以上就是Golang中函数入门的详细讲解,希望对您有所帮助。

你可能感兴趣的:(golang,golang,学习,python)