我是Go语言的新手,想在下面学习基本的基础我粘贴例子。这个例子中的问题是我无法访问for循环中的数字变量。它显示此错误
“声明号码而不使用”
。请帮帮我:(
package main
import(
"fmt"
)
func main() {
samlestNumber()
}
func samlestNumber() {
x := []int{
48,96,86,68,
57,82,63,70,
37,34,83,27,
19,97, 9,17,
}
//x = append(x,6,7)
var number int = x[0]
for _,element := range x {
if element < x[0] {
number = element
}
fmt.Println(" :::: ",element)
}
}
答案 0 :(得分:0)
这是因为您只是声明并为number
分配值。你永远不会在任何地方使用它(即以任何方式指代它所拥有的价值)。在您的代码中,您可以安全地删除number
声明和number = x[0]
,但它不会更改程序行为。
然而,正确的实现将返回函数中的最小数字:
package main
import(
"fmt"
)
func main() {
n := samlestNumber()
fmt.Println("Smallest Number =", n)
}
func samlestNumber() int { // add a return type
x := []int{
48,96,86,68,
57,82,63,70,
37,34,83,27,
19,97, 9,17,
}
//x = append(x,6,7)
var number int = x[0]
for _,element := range x {
// always compare to smallest number. Even if you don't return
// number anymore, you are still accessing the value held by
// the number variable. So even making this change alone will
// make the compiler error go away
if element < number {
number = element
}
fmt.Println(" :::: ",element)
}
return number // return number
}