Belajar menggunakan struktur data biasa dan kaedahnya dalam bahasa Go

WBOY
Lepaskan: 2024-01-09 17:02:30
asal
950 orang telah melayarinya

Belajar menggunakan struktur data biasa dan kaedahnya dalam bahasa Go

Untuk menguasai struktur data biasa dan penggunaannya dalam bahasa Go, contoh kod khusus diperlukan

Dalam bahasa Go, struktur data ialah cara untuk mengatur dan menyimpan data. Menguasai struktur data biasa dan cara menggunakannya adalah penting untuk membangunkan program yang cekap. Artikel ini akan memperkenalkan struktur data biasa dalam bahasa Go dan memberikan contoh kod khusus.

  1. Array
    Suatu tatasusunan ialah struktur data yang menyimpan elemen saiz tetap. Dalam bahasa Go, panjang tatasusunan tidak boleh diubah.

Contoh kod:

package main

import "fmt"

func main() {
    // 创建一个长度为5的整数数组
    var arr [5]int

    // 给数组赋值
    for i := 0; i < len(arr); i++ {
        arr[i] = i * i
    }

    // 打印数组的值
    for _, value := range arr {
        fmt.Println(value)
    }
}
Salin selepas log masuk
  1. Slice
    Slice ialah pelaksanaan tatasusunan dinamik dalam bahasa Go. Panjang kepingan boleh diubah secara dinamik.

Contoh kod:

package main

import "fmt"

func main() {
    // 创建一个空切片
    var slice []int

    // 给切片添加元素
    slice = append(slice, 1)
    slice = append(slice, 2)
    slice = append(slice, 3)

    // 打印切片的容量和长度
    fmt.Println("Capacity:", cap(slice))
    fmt.Println("Length:", len(slice))

    // 打印切片的值
    for _, value := range slice {
        fmt.Println(value)
    }
}
Salin selepas log masuk
  1. Senarai Terpaut
    Senarai terpaut ialah struktur data linear yang digunakan untuk menyimpan data. Dalam bahasa Go, penunjuk boleh digunakan untuk melaksanakan senarai terpaut.

Contoh kod:

package main

import "fmt"

type Node struct {
    data int
    next *Node
}

type LinkedList struct {
    head *Node
}

func (list *LinkedList) add(data int) {
    newNode := &Node{data: data}

    if list.head == nil {
        list.head = newNode
    } else {
        current := list.head
        for current.next != nil {
            current = current.next
        }
        current.next = newNode
    }
}

func main() {
    linkedList := &LinkedList{}

    linkedList.add(1)
    linkedList.add(2)
    linkedList.add(3)

    current := linkedList.head
    for current != nil {
        fmt.Println(current.data)
        current = current.next
    }
}
Salin selepas log masuk
  1. Timbunan (Timbunan)
    Timbunan ialah struktur data yang terakhir masuk dahulu (LIFO). Dalam bahasa Go, anda boleh menggunakan kepingan untuk melaksanakan tindanan.

Contoh kod:

package main

import "fmt"

type Stack struct {
    data []int
}

func (stack *Stack) push(value int) {
    stack.data = append(stack.data, value)
}

func (stack *Stack) pop() int {
    if len(stack.data) == 0 {
        return -1
    }
    value := stack.data[len(stack.data)-1]
    stack.data = stack.data[:len(stack.data)-1]
    return value
}

func main() {
    stack := &Stack{}

    stack.push(1)
    stack.push(2)
    stack.push(3)

    value := stack.pop()
    for value != -1 {
        fmt.Println(value)
        value = stack.pop()
    }
}
Salin selepas log masuk
  1. Barisan
    Barisan ialah struktur data dahulu masuk dahulu (FIFO). Dalam bahasa Go, anda boleh menggunakan kepingan untuk melaksanakan baris gilir.

Contoh kod:

package main

import "fmt"

type Queue struct {
    data []int
}

func (queue *Queue) enqueue(value int) {
    queue.data = append(queue.data, value)
}

func (queue *Queue) dequeue() int {
    if len(queue.data) == 0 {
        return -1
    }
    value := queue.data[0]
    queue.data = queue.data[1:]
    return value
}

func main() {
    queue := &Queue{}

    queue.enqueue(1)
    queue.enqueue(2)
    queue.enqueue(3)

    value := queue.dequeue()
    for value != -1 {
        fmt.Println(value)
        value = queue.dequeue()
    }
}
Salin selepas log masuk

Contoh kod di atas merangkumi struktur data biasa dalam bahasa Go dan cara menggunakannya. Dengan mempelajari dan menguasai struktur data ini, kecekapan dan kebolehbacaan program boleh dipertingkatkan. Saya harap artikel ini akan membantu anda mempelajari struktur data bahasa Go.

Atas ialah kandungan terperinci Belajar menggunakan struktur data biasa dan kaedahnya dalam bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan