go 语言允许函数省略参数传递,称为隐式传参。省略时,参数使用默认值(int 为 0,string 为 "",指针和切片类型为 nil)。这简化了代码,但也有局限性,如可读性下降、维护难度增加和编译器推导错误。最佳实践建议参数数量少、使用命名参数和考虑可变参数。隐式传参功能可简化代码,但应谨慎使用。
Go 语言函数省略参数传递:揭秘隐式传参
在 Go 语言中,函数参数可以省略传递,由编译器自动推导,这被称为隐式传参。它可以简化代码,提高可读性。
语法
参数 | 类型 | 默认值 |
---|---|---|
a |
int |
0 |
b |
string |
"" |
c |
*int |
nil |
d |
[]int |
nil |
省略传递时,参数会使用默认值。如果省略了指针或切片类型的参数,则默认值为 nil
。
实战案例
我们用一个计算面积的函数来说明隐式传参:
func area(width, height int) int { return width * height }