猿问

新旧变量的变量声明和赋值语法

在下面的代码中:


func sumDigitsIter(n int) int {

    digit_sum := 0

    for n > 0 {

        n, last := split(n)

        digit_sum += last

    }

    return digit_sum

}


func split(n int) (int, int) {

    return n / 10, n % 10

}

n不能是新n的语法n, last := split(n)


如果没有显式声明last变量,如何创建新变量并将last值重新分配给现有变量n,语法是什么?


因为在python中,我们这样做:


def sumDigitsIter(n):

    digit_sum = 0

    while n > 0:

        n, last = split(n)

        digit_sum = digit_sum + last

    return digit_sum


潇湘沐
浏览 194回答 2
2回答

拉莫斯之舞

使用变量声明声明一个新变量。不要使用简短的变量声明。func sumDigitsIter(n int) int {    digit_sum := 0    for n >= 0 {        var last int        n, last = split(n)        digit_sum += last    }    return digit_sum}

HUWWW

n和都last定义在一个新块中,因此n,last:=v1,v2将n和声明last为新变量。如果要保留n和声明last,则必须单独声明:var last intn,last=split(n)
随时随地看视频慕课网APP

相关分类

Go
我要回答