go中的字符串和整数列表?
我不知道我在做什么,我决定尝试使用围棋。这是我最多能想到的go中的字符串和整数列表?,go,Go,我不知道我在做什么,我决定尝试使用围棋。这是我最多能想到的 为什么%v正在打印{0xf840024660 0xf840023660 4} 为什么我在混合整数和字符串时没有收到错误 我如何强制打字?(如仅限整数、仅限字符串等) 代码: package main import "fmt" import "container/list" func main() { ls := list.New() ls.PushBack("a") ls.PushBack(4) ls
{0xf840024660 0xf840023660 4}
package main
import "fmt"
import "container/list"
func main() {
ls := list.New()
ls.PushBack("a")
ls.PushBack(4)
ls.PushBack("5")
fmt.Println(ls)
ls2 := list.New()
ls2.PushBack(4)
ls2.PushBack(8)
fmt.Printf("%v\naaa\n", *ls2.Front())
fmt.Println(*ls2.Back())
}
首先,您可能不想要
容器/列表
。您可能正在寻找类似切片和append()
的内容。例如:
x := []int { 1, 2, 3 }
x = append(x, 4)
x = append(x, 5, 6)
container/list
允许您混合类型的原因是它使用接口{}
来保存值,并且任何类型都满足空接口。要回答调用Front()
和Back()
的第一个问题,这是因为您正在打印不包含可打印值的。如果要打印元素.Value
,必须执行(*ls2.Front()).Value
。类似的原因也适用于fmt.Println(ls)
打印奇怪的原因