美文网首页
go 语言基础--函数

go 语言基础--函数

作者: scannme | 来源:发表于2020-10-24 21:31 被阅读0次

1、函数

和C语言类型,Go语言也有函数的概念,语法如下:

//func 定义函数关键字
//func_name 函数名称
//arg1,arg2 函数入参,可以为空,也可以是多个
//returnvlaue 函数返回值,可以是为空,也可以是多个
func func_name(arg1,arg2 ..) returnvalue {
}

2 参数和返回值

2.1 返回值

go 语言可以返回零个或多个值.

package main

import "fmt"

func swap(x, y string) (string, string){
    return y, x
}

func swap2(x, y string) (string, string) {
    return y,x
}

func main() {
    a, b := swap("hello", "world")

    fmt.Println(a, b)

    a, b = swap2("test1", "test2")

    fmt.Println(a,b)
}

当函数有多个返回值时,而我们有不处理某个返回值时,可以在使用_来取代返回值,不进行处理

func blank()  (int, int) {
    a := 2
    b := 3

    return a, b
}

func main() {
    a, _ := blank()package main
    fmt.Println(a)
}

2.2 入参

go语言的入参和C语言基本一致,分为按值专递(call by value)和按引用传递(call by reference). 按值传递的是参数的副本,对这个值修改不会影响函数体外参数的值,按引用传递在函数内的修改会影响到函数体外的值。


import "fmt"

func argtest(a int, p  *int)  {

    a = a + 2
    *p = 6
}
func main () {
    a := 2
    b := 4

    fmt.Println(a, b)
    argtest(a, &b)
    fmt.Println(a, b)
}

输出:

2 4
2 6

3 函数作为参数

函数可以作为其他函数参数进行传递,然后在其他函数内调用执行。

import (
    "fmt"
)

func main() {
    callback(1, Add)
}

func Add (a , b int) {
    fmt.Printf("The sum of %d and %d is:%d\n", a, b, a + b)
}

func callback(y int ,f func(int, int)) {
    f(y, 2)
}

相关文章

  • 11.***函数***

    Go语言基础之函数 Golang 函数是组织好的、可重复使用的、用于执行指定任务的代码块。本文介绍了Go语言中函数...

  • Go语言学习笔记(二)-基础语法

    Go语言结构 Go语言的基础组成有一下几个部分: 包声明 包引入 函数 变量 语句&表达式 注释 关于Go的语言组...

  • Go语言基础——函数

    Go函数的特性 不支持:嵌套、函数重载、默认值参数支持:可变变参、多返回值、命名返回值参数、匿名函数、闭包特别注意...

  • go 语言基础--函数

    1、函数 和C语言类型,Go语言也有函数的概念,语法如下: 2 参数和返回值 2.1 返回值 go 语言可以返回零...

  • go语言基础

    go语言基础 go 语言接口

  • Go语言探索 - 7(原创)

    Go语言基础系列博客用到的所有示例代码 在 上一篇文章主要学习了Go语言的函数定义、值传递和引用传递以及闭包函数。...

  • (四)go语言函数&参数传递

    go语言函数 基本语法 例子 go语言参数传递

  • go语言基础之函数

    欢迎来我的个人博客:fizzyi 自定义函数 1.定义格式 函数构成代码执行的逻辑结构。在Go语言中,函数的基本组...

  • Go 语言基础——init函数

    在main被执行前,所有依赖的package的init方法都会被执行(类似与Java中的代码块)不同包的init函...

  • Go语言基础3 - 函数

    概述 我们将用几节来学习Go语言基础,本文结构如下: 函数 函数的基本语句结构: func 是关键字,表示函数的开...

网友评论

      本文标题:go 语言基础--函数

      本文链接:https://www.haomeiwen.com/subject/eztwmktx.html