GO-函数学习

栏目: Go · 发布时间: 7年前

内容简介:函数的参数的传递方式:在 Golang 中函数调用参数均为值传递,函数在穿参的时候,都是以值的方式传递

函数的声明

  • go的函数声明通过 func 这个关键字, params 是他的形参设置, result 是他的return值
  • 当设置 params 后调用 func 必须传入对应函数参数,当设置 result 后也必须有 return ,且 paramsresult 类型符合声明的
func name(params) (result) {
}

// 普通函数的声明
func getMax(num1 int, num2 int) (min int, max int) {
  // 推荐直接赋值给需要return的值
  if num1 > num2 {
    max = num1
    min = num2
  } else {
    max = num2
    min = num1
  }
  return // 每一个函数必须要有return
}

可变参数类型函数

  • 可变参数一般被放置在函数列表的末尾,前面是固定参数列表,当没有固定参数时,所有变量就将是可变参数。
// 可变参数类型
func getArr(a ...int) (length int) {
  length = len(a)
  return
}

// 部分参数是可变参数
func getLen(a int, c ...int) (length int) {
  length = len(c) + a
  return
}

函数的参数传递

函数的参数分为两种:

  • 实际参数(实参): 实参的本质是一个变量,它可以是变量名、数组名、常数或者表达式,已实际占用内存空间
  • 形式参数(形参): 形参本质是一个名字,不占用内存空间
// 实参
func shiCan(a int, b int) (result int)  {
  result = a + b
  return
}

func main() {
  shiCan(1, 4)
}


// 形参
var a int =  3
var b int = 5

func xingCan(a int, b int) (result int)  {
  result = a + b
  return
}

func main() {
  xingCan()
}

函数的参数的传递方式:

在 Golang 中函数调用参数均为值传递,函数在穿参的时候,都是以值的方式传递

例子一:(int类型)

func add(num int) (result int) {
  fmt.Println(&num)
  return num
}

func main() {
  num := 10
  result := add(num)
  fmt.Println(&num)
  fmt.Println(result)
}

例子二:(array类型)

func add(num [1]int) (result [1]int) {
  num[0] = 1
  fmt.Println(num) // [1]
  return num
}

func main() {
  num := [...]int{10}
  result := add(num)
  fmt.Println(num) // [10]
  fmt.Println(result)
}

例子三:(指针类型)

func modify(value *int) {
  value = nil 
  fmt.Println(value) //  0x0
}

func main() {
  a := new(int)
  modify(a)
  fmt.Println(a) // 0xc000040780
}

以上所述就是小编给大家介绍的《GO-函数学习》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java编程思想 (第4版)

Java编程思想 (第4版)

[美] Bruce Eckel / 陈昊鹏 / 机械工业出版社 / 2007-6 / 108.00元

本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。 从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到......一起来看看 《Java编程思想 (第4版)》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具