golang函数返回值的类型转换
短信预约 -IT技能 免费直播动态提醒
函数返回值类型转换分为两种方式:type assertion 检查值与特定类型是否兼容,不兼容则报错;type conversion 不检查兼容性,直接转换。实战中,可将浮点型转换为整数,或将元组中的整数转换为字符串。
Go 语言中函数返回值的类型转换
在 Go 语言中,函数返回值的类型可以用 type assertion
或 type conversion
来转换。
Type Assertion
使用 type assertion 检查值是否与特定类型兼容,并将该值转换为所期望的类型,如果类型不兼容,会导致错误:
func GetValue() interface{} {
return "Hello, world!"
}
func main() {
value := GetValue()
// 检查 value 是否为字符串类型
if str, ok := value.(string); ok {
fmt.Println(str) // 输出: Hello, world!
}
}
Type Conversion
使用 type conversion 将值的类型转换为所期望的类型,无论值是否兼容,都会进行转换:
func main() {
var num float64 = 3.14
// 将 float64 转换为 int
numInt := int(num)
fmt.Println(numInt) // 输出: 3
}
实战案例
以下是一个实战案例,演示如何转换函数返回值的类型:
func GetEmployeeInfo() (string, int) {
return "John Doe", 30
}
func main() {
name, age := GetEmployeeInfo()
// 将 age 转换为 string 类型
ageStr := strconv.Itoa(age)
fmt.Println("Employee Name:", name)
fmt.Println("Employee Age:", ageStr)
}
输出:
Employee Name: John Doe
Employee Age: 30
以上就是golang函数返回值的类型转换的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341