函数、包

62 阅读1分钟

1. 函数

1.1 基本语法

func 函数名 (形参列表) (返回值列表) {
    执行语句
    return 返回值列表
}

1.2 函数调用过程

1.3 return语句

  1. 如果返回多个值时,在接收时,希望忽略某个返回值,则使用_符号表示占位忽略
  2. 如果返回值只有一个,(返回值类型列表)可以不写()

1.4 值传递和引用传递

1.5 函数使用的注意细节

  1. 形参列表和返回值列表的数据类型可以时值类型和引用类型
  2. 首字母不能是数字。
  3. 首字母大写的函数可以被本包文件和其他包的文件使用,类似public;首字母小写的函数只能被本包文件使用,其他包文件不能使用,类似private
  4. 基本数据类型和数组默认都是值传递,即进行值拷贝。在函数内进行修改,不会影响到原来的值。
  5. 引用传递的变量,在函数内修改后会影响到被影响的这个变量的值
  6. Go函数不支持重载
  7. 在Go中,函数也是一种数据类型,可以赋值一个变量。
func add(a int, b int) int {
    return a + b
}
func main(){
    a := add
    res := a(10,20)
    fmt.Println("res", res)
}

1.6 init函数

1.7 匿名函数

1.8 闭包

1.9 defer

2. 包

2.1 包的基本概念

go的每一个文件都是属于一个包的,也就是go是以包的形式来管理文件和项目目录结构的