如何在 Golang 中查詢 Channel、指標、切片、字串和 Map 的長度?


在 Golang 中,有幾種資料型別,例如通道、指標、切片、字串和對映。這些資料型別中的每一個都具有不同的資料儲存和訪問方式,瞭解每種型別的長度或大小對於有效管理記憶體至關重要。在本文中,我們將討論如何在 Golang 中查詢通道、指標、切片、字串和對映的長度。

在 Golang 中查詢通道的長度

通道是一種用於 Goroutine 之間通訊的資料型別。我們可以使用 len() 函式在 Golang 中查詢通道的長度。

示例

這是一個示例 -

package main

import "fmt"

func main() {
   c := make(chan int, 5)
   c <- 1
   c <- 2
   c <- 3

   fmt.Println("The length of the channel is", len(c))
}

輸出

The length of the channel is 3

在 Golang 中查詢指標的長度

指標是一個儲存另一個變數的記憶體地址的變數。我們無法在 Golang 中查詢指標的長度,因為它只儲存變數的地址。但是,我們可以使用 unsafe.Sizeof() 函式查詢指標指向的變數的大小。

示例

這是一個示例 -

package main

import (
   "fmt"
   "unsafe"
)

func main() {
   var a int64 = 100
   var b *int64 = &a

   fmt.Println("The size of a is", unsafe.Sizeof(a))
   fmt.Println("The size of b is", unsafe.Sizeof(b))
}

輸出

The size of a is 8
The size of b is 8

在 Golang 中查詢切片的長度

切片是 Golang 中的動態陣列。我們可以使用 len() 函式在 Golang 中查詢切片的長度。

示例

這是一個示例 -

package main

import "fmt"

func main() {
   s := []int{1, 2, 3, 4, 5}

   fmt.Println("The length of the slice is", len(s))
}

輸出

The length of the slice is 5

在 Golang 中查詢字串的長度

字串是 Golang 中的一系列字元。我們可以使用 len() 函式在 Golang 中查詢字串的長度。

示例

這是一個示例 -

package main

import "fmt"

func main() {
   s := "Hello, World!"

   fmt.Println("The length of the string is", len(s))
}

輸出

The length of the string is 13

在 Golang 中查詢對映的長度

對映是 Golang 中的一種鍵值對資料結構。我們可以使用 len() 函式在 Golang 中查詢對映的長度。

示例

這是一個示例 -

package main

import "fmt"

func main() {
   m := map[string]int{
      "apple":  1,
      "banana": 2,
      "orange": 3,
   }

   fmt.Println("The length of the map is", len(m))
}

輸出

The length of the map is 3

結論

在 Golang 程式設計中,查詢不同資料型別的長度至關重要。透過對通道、切片、字串和對映使用 len() 函式,以及對指標使用 unsafe.Sizeof() 函式,我們可以輕鬆管理程式的記憶體。

更新於:2023年5月5日

2K+ 瀏覽量

啟動你的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.