【问题标题】:how declare two variables in for init in GoLang? [duplicate]如何在 GoLang 中为 init 声明两个变量? [复制]
【发布时间】:2018-03-12 00:50:00
【问题描述】:

当我写的时候:

package main

import (
    "fmt"
)

func Sqrt(x float64) float64 {
    var ret float64

    for z := 1.0, n := 0;n < 10;n++ {
        ret = z - (z*z - x) / 2*z
    }
    return ret
}

func main() {
    fmt.Println(Sqrt(2))
}

语法错误:z := 1.0,n 用作值。 并带来

z := 1.0

在下面的for块之外

package main

import (
    "fmt"
)

func Sqrt(x float64) float64 {
    var ret float64
    z := 1.0
    for n := 0;n < 10;n++ {
        ret = z - (z*z - x) / 2*z
    }
    return ret
}

func main() {
    fmt.Println(Sqrt(2))
}

没关系,我如何在 for 块的 init 中定义两个变量?

【问题讨论】:

  • 是的,语法与我之前使用的其他语言有些不同

标签: go


【解决方案1】:

一个For clause 有一个Init Statement,它是一个Simple Statement,只包括一个Assigment

因此,在您的情况下,您不能声明具有不同类型/值的多个变量。不过你可以使用元组赋值

for z, n := 1.0, 0; n < 10; n++ {

(playground)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 2013-01-15
    • 1970-01-01
    • 2013-08-22
    相关资源
    最近更新 更多