一分耕耘,一分收获!既然打开了这篇文章《具有多个返回值的方法的“if”初始化语句》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎
一分耕耘,一分收获!既然打开了这篇文章《具有多个返回值的方法的“if”初始化语句》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!
问题内容我希望在 if
语句中包含初始化语句,该语句实际上使用多个返回多个值的方法。示例:
func handleargs(args ...interface{}) {
// some additional checks here
if value1, ok1, value2, ok2 := args[0].(string), args[1].(string); ok1 && ok2 {
// do something
}
}
Go 不允许我这样做,响应错误:
赋值不匹配:4个变量但2个值
考虑到编译器可以轻松处理返回 2 个值的一个方法,这更令人困惑:
// it is OK!
if value, ok := args[0].(string); ok {
}
除了将一个 if
语句一分为二(这很难看)之外,还有什么方法可以做我想做的事吗?
您不能使用上面的语法。
您可以像这样使用带花括号的范围。
func HandleArgs(args ...interface{}) {
// Some additional checks here
{
// This will ensure all values will be captured inside the following scope
value1, ok1 := args[0].(string)
value2, ok2 := args[1].(string)
if ok1 && ok2 {
// Do something
}
}
}
今天关于《具有多个返回值的方法的“if”初始化语句》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注编程网公众号!
--结束END--
本文标题: 具有多个返回值的方法的“if”初始化语句
本文链接: https://www.lsjlt.com/news/596617.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0