面试题答案
一键面试- 函数定义时的类型推导:
- 在
func divide(a, b int) (int, error)
函数定义中,返回值类型int
和error
是显式声明的,不存在类型推导过程。Go语言函数定义要求明确指定每个参数和返回值的类型,所以这里编译器不需要进行类型推导来确定返回值类型。
- 在
- 短变量声明语句中的类型推导:
- 在
result, err := divide(10, 2)
中,divide
函数返回两个值,第一个返回值类型是int
,第二个是error
。 - 对于
result
,编译器根据divide
函数的第一个返回值类型int
,推导出result
的类型为int
。 - 对于
err
,编译器根据divide
函数的第二个返回值类型error
,推导出err
的类型为error
。 - 这里的类型推导是基于函数返回值的显式类型声明,Go编译器通过函数签名中返回值的类型信息来确定短变量声明中对应变量的类型。
- 在