Golang(函数)

  • 函数是基本的代码块,用于执行一个任务。

  • Go 中有 3 种函数:普通函数、匿名函数(没有名称的函数)、方法(定义在 struct 上的函数)。

  • Go 中函数参数可以没有名称,例如 func test(int,int)。

  • Go 中的函数可以作为一种 type 类型,例如 type callback func(int,int) int。

  • Go 程序中最少有一个 main() 函数。

  • Go 中不允许函数重载(overload),也就是说不允许函数同名。

  • Go 中的函数不能嵌套函数,但可以嵌套匿名函数(内联形式)。

  • 函数是一个值,可以将函数赋值给变量,使得这个变量也成为函数,例如 nextNumber := closePackage()。

  • 函数可以作为参数传递给另一个函数,函数的返回值可以是一个函数。这些特性使得函数变得无比的灵活,例如回调函数、闭包等等功能都依赖于这些特性。

  • Go 中的函数不支持泛型(目前不支持),但如果需要泛型的情况,大多数时候都可以通过 接口、type switch、reflection 的方式来解决。但使用这些技术使得代码变得更复杂,性能更低。

  • 可以通过函数来划分不同的功能,逻辑上每个函数执行的是指定的任务。

  • 函数声明告诉了编译器函数的名称,返回类型和参数。

  • Go 中的标准库提供了多种可动用的内置的函数。例如:len() 函数可以接受不同类型参数并返回该类型的长度。如果传入的是字符串则返回字符串的长度,如果传入的是数组,则返回数组中包含的元素个数。

一,基础函数

语法

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

无参数无返回值

func test() {
    ......
}

传参有返回值

func test(a int,b int) int {
    ......
    return n
}

传参有多个返回值

func test(a int,b int) (int,int) {
    ......
    return a+b,a*b
}

示例

// 定义 max() 函数传入两个整型参数 num1 和 num2,并返回两个参数的最大值
func max(num1,num2 int) int {
    if num1 > num2 {
        return num1
    } else {
        return num2
    }
}

// 函数的调用
package main

import "fmt"

func main() {
    var test1 int = 100
    var test2 int = 200
    var result int
    result = max(test1,test2)
    fmt.Println("最大值为:",result)
}

func max(num1,num2 int) int {
    if num1 > num2 {
        return num1
    } else {
        return num2
    }
}

//
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值