天津市建设工程网站推广引流
文章目录
- 1 定义
- 2 参数的写法
- 3 返回值的写法
- 4 空白符
1 定义
函数是将输入数据通过一系列算法运算之后,输出对应的结果。函数一般都是一些特定的功能块,实现某一种功能的封装,降低代码的冗余性
语法
// 关键字 函数名 函数参数 返回参数
func functionname(params paramstype) returntype{// 函数体
}
测试
package mainimport "fmt"func add(a, b int) int {return a + b
}func main() {a := 1b := 2c := add(a, b)fmt.Println("a+b=", c) // a+b= 3
}
函数的参数和返回值类型不是必须的
package mainimport "fmt"func showinfo() {fmt.Println("show info......")
}func main() {showinfo()
}
2 参数的写法
参数不是必须的,函数可以不传参,在上面的例子中已经写了,这里不多写
含有多个相同类型的参数
如果含有多个相同类型的参数不用每个参数后面都写参数类型,直接在最后面写一个参数类型即可
package mainimport "fmt"func sum(a, b, c int) int {return a + b + c
}func main() {total := sum(4, 5, 6)fmt.Println("total = ", total) // total = 15
}
含有多个不同类型的参数
多个不同类型的参数必须在每一个参数后面写上参数类型
package mainimport "fmt"func showinfo(name string, age int, height float64, weight float64) {fmt.Printf("姓名:%s\n年龄:%d\n身高:%f\n体重:%f", name, age, height, weight)
}func main() {name := "科比"age := 43height := 198.0weight := 101.0showinfo(name, age, height, weight)
}
/*
姓名:科比
年龄:43
身高:198.000000
体重:101.000000
*/
3 返回值的写法
一个返回值
func funcname(params paramstype) returntype{// 函数体
}
package mainimport "fmt"func add(a, b int) int {return a + b
}func main() {c := add(1, 2)fmt.Println(c)
}
多个返回值
返回两个或多个返回值,返回值类型一定要用括号括起来
func funcname(params paramstype) (int, int) {return a,b
}
package mainimport "fmt"func rectangle(l, w float64) (float64, float64) {round := (l + w) * 2area := l * wreturn round, area
}func main() {round, area := rectangle(3.0, 4.0)fmt.Println("round=", round, "area=", area)
}
命名返回值
返回值在参数后面直接定义好,就不需要在return后面写返回值了
语法
package mainimport "fmt"func rectangle(l, w float64) (round, area float64) {round = (l + w) * 2area = l * wreturn
}func main() {round, area := rectangle(3.0, 4.0)fmt.Println("round=", round, "area=", area)
}
4 空白符
Go中使用_表示空白符,空白符可是是任何类型的的任何值,如果函数有两个返回值,我们不关心其中一个返回值
package mainimport "fmt"func rectangle(l, w float64) (round, area float64) {round = (l + w) * 2area = l * wreturn
}func main() {round, _ := rectangle(3.0, 4.0)fmt.Println("round=", round)
}
只关心周长,不关心面积,使用空白符代替面积的位置