去浪。调用 ".Front()"获取字符串列表。但是返回错误说字符串列表没有 Front 方法

标签 go

我有这样的代码

t := strings.FieldsFunc(value, extract_word)
        fmt.Println("t:", len(t),t)
        m := make(map[string]int)
    for word := t.Front(); word != nil; word=word.Next(){
            m[word]++   
    }

它得到这个错误

t.Front undefined (type []string has no field or method Front)

我知道列表有 Front() 方法。 http://golang.org/pkg/container/list/ 但为什么它在这里提示? 很困惑,需要帮助。 谢谢!

最佳答案

[]T 不是其他语言(例如 Python)中提到的“列表”。在 Go 中,它被称为“slice ”http://golang.org/ref/spec#Slice_types

它的元素范围从0len(slice)-1,并使用类似C 的数组访问符号进行访问。 slice 的“前面”通常被认为是 slice[0],但如果您使用 slice 来实现诸如堆栈之类的东西,您可能会考虑前面的不同索引。

Go 中没有内置类型定义任何方法,但有 built-in functions将它们作为参数,例如 len

您链接到的包实现了 List 类型。正如顶部的文档所说“包列表实现了一个双向链表”。这个双向链表可以通过调用 list.New() 创建,它有一个 Front 方法,以及包文档中列出的其他方法。

关于去浪。调用 ".Front()"获取字符串列表。但是返回错误说字符串列表没有 Front 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23692242/

相关文章:

model - 在 Go 中构建模型

go - 端点 Google ID JWT 和 Golang oauth2 : have id_token, 需要 access_token?

pointers - Golang &(*(&v)) 语义

concurrency - 数据未通过 channel 发送

go - 如何在 Scylla 和 Go 中查询带有偏移量的限制

postgresql - Gorm 和关系

Goroutines被for循环阻塞?

go - 加入或推送 slice

go - delphi/pascal <> golang (异或加密)

go - 如何从 Windows 交叉编译到 Linux?