我一直在阅读 [golang-book]:http://www.golang-book.com并在我进行时完成练习。第六章有一个练习,必须找到未排序列表[x]中的最小元素。
我有以下代码,但不知何故我不知道为什么方法 length (len) 在 第 14 行给我一个错误:x.len undefined (type []int has no field or method len)
package main
import "fmt"
func main() {
x := []int{
48, 96, 86, 68,
57, 82, 63, 70,
37, 34, 83, 27,
19, 97, 9, 17,
}
small := x[0]
for i := 1; i < x.len(); i++ {
if x[i] < small {
fmt.Println(x[i])
}
}
}
我使用的逻辑是用谷歌搜索的,所以也许数组上没有 len 方法?非常感谢任何帮助。
最佳答案
数组和 slice 没有 len() 方法。 len() 函数是一种内置语言。
所以你的代码
for i := 1; i < x.len(); i++ {
应该是
for i := 1; i < len(x); i++ {
这是 the playground 中的工作版本.
package main
import "fmt"
func main(){
x := []int{
48,96,86,68,
57,82,63,70,
37,34,83,27,
19,97, 9,17,
}
small := x[0]
for i := 1; i < len(x); i++ {
if x[i] < small {
fmt.Println(x[i]);
}
}
}
关于go - len 方法未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15122361/