当前位置: 首页 > 面试题库 >

Go中for循环中的多个变量

夹谷琨
2023-03-14
问题内容

我试图用多个变量在Go中编写一个for循环。

来自javascript世界,我想实现以下目标:

    var i = 10;
    var b = 2;
    for (var a = b; i; i /= 2, b *= b ) {
      // some code
    }

我已经尝试过像这样的“原始翻译”:

   i, b := 10, 2
   for a := b; i; i /= 2, b *= b {
      // some code
    }

但这是行不通的。正确的语法是什么?

非常感谢!


问题答案:

在Go中,您可以像这样循环执行多个变量分配。

package main

func main() {
    var (
        i = 10
        b = 2
    )
    for a := b; i != 0; i, b = i/2, b*b {
      // some code
    }
}


 类似资料:
  • 问题内容: 不允许在Go中使用以下for循环, 下面两个变量的for循环的正确等效项是什么? 问题答案: 您没有逗号运算符来连接多个语句,但是您确实有多个分配,因此这可行:

  • for循环是Go语言唯一的循环结构。这里有三个基本的for循环类型。 package main import "fmt" func main() { // 最基本的一种,单一条件循环 // 这个可以代替其他语言的while循环 i := 1 for i <= 3 { fmt.Println(i) i = i + 1 }

  • 我正在编写一个计算e^x值的方法。我在python中实现它的方式如下。 这将很好地返回e^x的值。但是,当我尝试在c#中实现相同的方法时,它没有输出与python中相同的值。以下是c#中的实现。 起初,这段代码的输出是一个无穷大符号。为了解决这个问题,我只是减少了循环运行的次数。在c#中,循环只运行10次,代码的输出非常接近于python中循环运行100次的输出。我的问题是,在不同的编程语言中,两

  • 在for循环中,为不同的变量分配一个值。已经赋值的变量将从下一次迭代中获得赋值。最后,两个变量的值相同。该代码用于验证文件中的数据。当我打印这些值时,它会为第一次迭代打印正确的值,但在下一次迭代中,第一次迭代中指定的值会更改。当我在for循环中打印$value3和$value4的值时,它会为$value4显示null,为$value3显示一些值,但在下一次迭代中,$value3的值会被$value

  • Go 语言循环语句 for循环是一个循环控制结构,可以执行指定次数的循环。 语法 Go语言的For循环有3中形式,只有其中的一种使用分号。 和 C 语言的 for 一样: for init; condition; post { } 和 C 的 while 一样: for condition { } 和 C 的 for(;;) 一样: for { } init: 一般为赋值表达式,给控制变量赋

  • 问题内容: 我在搜索“如何在for循环中提供多个条件?” 但是没有给出直接答案。 经过一番研究,我找到了正确的方法。条件不得以逗号(,)或分号(;)分隔。我们可以使用&&运算符将两个条件结合在一起。 for(初始化; condition1 && condition2;增量) 例: 希望这对新的Java开发人员有所帮助。 问题答案: 您还可以使用“或”运算符,