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

 

Golang函数特点

a. 不支持重载,一个包不能有两个名字一样的函数
b. 函数是一等公民,函数也是一种类型,一个函数可以赋值给变量
c. 匿名函数
d. 多返回值

 

函数的参数传递方式

值传递

引用传递

注意1:
无论是值传递,还是引用传递,传递给函数的都是变量的副本, 不过,值传递是值的拷贝。引用传递是地址的拷贝,一般来说,地址 拷贝更为高效。而值拷贝取决于拷贝的对象大小,对象越大,则性能 越低。
注意2:
map、slice、chan、指针、interface默认以引用的方式传递

 

/*
package main

import "fmt"

func modify(a int) {
    a = 100
}

func main(){
    a := 8
    fmt.Println(a)
    modify(a)
    fmt.Println(a)
}
*/
// 修改上面的程序, 使其正确

package main

import "fmt"

func modify(a *int) {
    *a = 100
}

func main(){
    a := 8
    fmt.Println(a)
    modify(&a)
    fmt.Println(a)
}
练习 13

相关文章:

  • 2021-07-05
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-06
  • 2021-04-10
  • 2022-02-24
猜你喜欢
  • 2021-08-07
  • 2022-12-23
  • 2022-12-23
  • 2021-06-14
  • 2021-09-25
  • 2021-10-02
  • 2021-10-04
相关资源
相似解决方案