go语言从零学起--list结构基本用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言从零学起--list结构基本用法相关的知识,希望对你有一定的参考价值。

list,go标准库双向链表结构

定义:

a := list.New()

用法示例:

package main

import (
    "container/list"
    "fmt"
)

func main() {
    l := list.New()

    l.PushBack(1) //插入链表的最后一个位置
    l.PushBack(2)
    l.PushBack(3)
    l.PushFront(4) //插入链表的第一个位置

    i := 1
    for e := l.Front(); e != nil; e = e.Next() {
        fmt.Printf("元素%d:%d\n", i, e.Value)
    }
}

输出结果:

元素1:4
元素2:1
元素3:2
元素4:3

list中元素为struct时,获取元素每项的方式稍微有些区别,示例如下:

package main

import (
    "container/list"
    "fmt"
)

type User struct {
    id   int
    name string
}

func main() {

    l := list.New()

    item1 := User{id: 101, name: "name1"}
    item2 := User{id: 102, name: "name2"}
    l.PushBack(item1)
    l.PushBack(item2)

    i := 1
    for e := l.Front(); e != nil; e = e.Next() {
        fmt.Printf("元素%d: id:%d, name:%s\n", i, e.Value.(User).id, e.Value.(User).name) //先转义后使用
        i++
    }
}

输出为:

元素1: id:101, name:name1
元素2: id:102, name:name2

 

以上是关于go语言从零学起--list结构基本用法的主要内容,如果未能解决你的问题,请参考以下文章

Python 从零学起(纯基础) 笔记 之 迭代器生成器和修饰器

从零学起单片机通俗易懂教程推荐

C++实战之OpenCL 并行优化编程从零学起系列文章

Github免费中文书《Go入门指南》,带你从零学Go

从零学python——python的基本图形绘制以及基本语法

从零学物联网技术:C语言结合数据类型,数据类型c语言自学指南,C++从入门到精通教程