- 函数组成
- 函数名
- 参数列表(parameter-list)
- 返回值(result-list)
- 函数体(body)
return a + b
}
func multi()(string, int){
return "name", 18
}
func sum(nums ...int)int{
fmt.Println("len of nums is : ", len(nums))
res := 0
for _, v := range nums{
res += v
}
return res
func main(){
fmt.Println(sum(1))
fmt.Println(sum(1,2))
fmt.Println(sum(1,2,3))
func main(){
func(name string){
fmt.Println(name)
}("禾木课堂")
}
func sayHello(name string) {
fmt.Println("Hello ", name)
}
func logger(f func(string), name string) {
fmt.Println("start calling method sayHello")
f(name)
fmt.Println("end calling method sayHellog")
func main() {
logger(sayHello, "禾木课堂")
}
name = "hemuketang"
}
func sendAddress(name *string) {
*name = "hemuketang"
}
func main() {
// 传值和传引用
str := "禾木课堂"
fmt.Println("before calling sendValue, str : ", str)
sendValue(str)
fmt.Println("after calling sendValue, str : ", str)
fmt.Println("before calling sendAddress, str : ", str)
sendAddress(&str)
}