go - 新旧变量的变量声明和赋值语法
问题描述
在下面的代码中:
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
解决方案
使用变量声明声明一个新变量。不要使用简短的变量声明。
func sumDigitsIter(n int) int {
digit_sum := 0
for n >= 0 {
var last int
n, last = split(n)
digit_sum += last
}
return digit_sum
}
推荐阅读
- c# - 跟踪路由结果
- forms - 如何以 ncurses 的形式移动字段
- python-3.x - 为 maskRcnn 导入 Tensorboard(Matterport - Mask RCNN)
- javascript - 无法将创建帐户数据从 React 发送到 Flask 端点
- r - 折叠近乎重复的内容并将差异添加为 R 中的新列?
- r - 如何使用 R ggplot 覆盖两个地图
- scala - Java 保留字作为 Scala 中的包名
- nfc - NTAG 424 NFC 芯片的 Python CRC 计算
- react-native - 如何将通过 URL 检索到的图像的宽度调整为 React Native 中的 View 容器?
- jquery - jQuery中的变量问题(未定义)即使我检查它是否存在