文章目录
一、函数的基本流程及调用
package main
import (
"fmt"
"strings"
)
// 定义简单的函数
func lowercaseWord(word string) string {
// 函数名,形参先写变量,再定义对应的参数类型,然后再定义返回值类型
word = strings.ToLower(word) // 函数体
fmt.Println(word)
return word // 函数返回值
}
func main() {
lowercaseWord("ABC") // 函数调用
}
二、包的使用原理
// 包的本质是创建不同的文件夹来存放 golang 程序。
// 文件第一行package 包名
,包名与所在目录名一致,golang 程序从GOPATH
路径开始查找。
// 包中对外可被引入的变量,函数与方法的名字需要大写。
// 同一个包内,变量和方法名等不能重复。
package main
import (
"code.byted.org/go_learning/utils" // 引入自定义的包,从 GOPATH 路径下开始引入
"fmt" // 引入 golang 内部包
)
func main() {
res := utils.LowercaseWord("ABC") // 使用引入包中的函数
fmt.Println(res)
}
重点:如果要编译一个可执行的文件,这个包必须声明为main
:package main
// 语法规范。
三、函数的使用注意事项
- 支持对返回值命名:
func cal(a, b int) (s int) {
s = a + b // 函数返回值声明了变量类型后,函数体内不需要再进行类型申明
return
}
- go 支持自定义数据类型:
package main
import (
"fmt"
)
type MathCal func(int, int) int // 自定义一个函数数据类型
func sub(a int, b int) int {
return a - b
}
func sum(a int, b int) int {
return a + b
}
func main() {
var op MathCal
op = sub
res := op(10, 20)
fmt.Printf("%d\n", res)
}
- 使用
_
符号,可以忽略一个返回值:
package main
func mathCal(a int, b int) (sum int, sub int) {
sum = a + b
sub = a - b
return
}
func main() {
s, _ := mathCal(1, 2)
println(s)
}
- 在 go 函数中支持可变参数,可变参数需要放在形参列表最后:
package main
import "fmt"
func sumNum(a int, args...int) int {
// 可变参数放在形参最后面
sum := a
for _, arg := range args {
sum += arg
}
fmt.Println(sum)
return sum
标签:函数,int,fmt,func,main,sum,结构
From: https://blog.csdn.net/Grit_my/article/details/143361458