- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我想知道 Go 是否有一种方法可以在不使用短声明语法 :=
的情况下在一行中声明和初始化多个不同类型的变量。
例如声明两个相同类型的变量是可能的:
var a, b string = "hello", "world"
也可以使用 :=
语法声明不同类型的变量:
c, d, e := 1, 2, "whatever"
这反而给我一个错误:
var f int, g string = 1, "test"
当然我想保留类型,否则我可以只使用 :=
语法。
很遗憾,我找不到任何示例,所以我假设这是不可能的?
如果没有,有人知道是否有计划在未来的版本中引入这种语法吗?
最佳答案
如果您省略类型,则有可能:
var i, s = 2, "hi"
fmt.Println(i, s)
输出(在 Go Playground 上尝试):
2 hi
请注意 short variable declaration正是这个的简写:
A short variable declaration uses the syntax:
ShortVarDecl = IdentifierList ":=" ExpressionList .
It is shorthand for a regular variable declaration with initializer expressions but no types:
"var" IdentifierList = ExpressionList .
不省略类型是不可能的,因为 variable declaration 的语法是:
VarSpec = IdentifierList ( Type [ "=" ExpressionList ] | "=" ExpressionList ) .
(标识符列表和表达式列表只有一种可选类型。)
我还假设你不把它算作 1 行(否则它是有效的语法,但 gofmt 将它分成多行):
var (i int = 2; s string = "hi")
此外,如果您只想明确说明类型,您可以在右侧提供它们:
var i, s = int(2), string("hi")
但总而言之,只需为 2 种不同的类型使用 2 行,没有任何损失,可读性获胜。
关于go - Go中一行多个不同类型的变量(没有简短的变量声明语法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45086082/
void main(){ char c; unsigned char uc; unsigned short us1, us2; short s1, s2; c
我要删除 wordpress html 格式在 woocommerce 产品简短描述中。添加 电话 到处标记。我知道如何在 wp 帖子和页面中做到这一点 remove_filter( 'the_exc
我通常会打开一个命令的联机帮助页,该命令已经知道我正在搜索的选项并阅读其描述。有时只需搜索该选项即可立即生效,有时该选项在其他地方被引用,有时该选项仅作为子字符串出现在前面的文本中。 作为一个具体的例
假设我们有一个编号的圆圈。我们想从 A 点到 B 点,但不知道应该向左还是向右。你会如何使用数字来计算你应该朝哪个方向前进? 示例: 我们目前在 1。我们想继续 5。我可以直观地看到 5 更近,所以我
我正在使用以下内容将产品名称和价格添加到悬停框。 在 functions.php 中 // Alter produt loop individual products add_action( 'woo
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我有一个for循环 for ($x=1; $x<=5; $x++){ ($x == 3)? continue : true; //some code here } 现在执行时出现错误
我刚刚开始我的第一个 Java Swing 项目(之前主要做基于 Web 的应用程序),并尝试了解如何构建一个适当的架构,并在 MVC 组件之间分离关注点。 我发现的几乎所有文档都非常深入地介绍了每个
我是一名优秀的程序员,十分优秀!