如何在 Golang 中找到通道、指针、切片、字符串和地图的长度?

原文:https://www . geeksforgeeks . org/如何在 golang 中查找通道长度指针切片字符串和映射/

在 Golang 中, len 函数用于查找一个通道的长度指针切片字符串映射

通道:在 Go 语言中,通道是一个 goro tine 与另一个 goro tine 通信的媒介,这种通信是无锁的。

// Go program to illustrate
// how to find the length a channel
package main

import "fmt"

func main() {

    // Creating a channel using make() function
    ch:= make(chan int, 5)
    fmt.Printf("\nChannel: %d", len(ch))
    ch <- 0
    ch <- 1
    ch <- 2
    fmt.Printf("\nChannel: %d", len(ch))
}

输出:

Channel: 0
Channel: 3

指针:Go 编程语言或 Golang 中的指针是一个变量,用于存储另一个变量的内存地址。

// Go program to illustrate
// how to find the length a Pointer.
package main

import "fmt"

func main() {

    // Creating a pointer
    var poin *[10]string
    fmt.Printf("\nPointer: %d", len(poin))
}

输出:

Pointer: 10

切片:切片是存储相似类型元素的变长序列,不允许在同一个切片中存储不同类型的元素。

// Go program to illustrate
// how to find length Slice
package main

import "fmt"

func main() {

    // Creating a slice using make() function
    sliceEx := make([]int, 10)
    fmt.Printf("\nSlice: %d", len(sliceEx))
}

输出:

Slice: 10

字符串:它是一个可变宽度字符序列,其中每个字符都由一个或多个字节使用 UTF-8 编码来表示。

// Go program to illustrate
// how to find length a String.
package main

import "fmt"

func main() {
    // Creating a string
    strEx := "India"
    fmt.Printf("\nString: %d", len(strEx))
}

输出:

String: 5

地图: Golang Maps 是一组无序的键值对的集合。

// Go program to illustrate
// how to find length a Map.
package main

import "fmt"

func main() {

    // Creating a map using make() function
    mapEx := make(map[string]int)
    mapEx["A"] = 10
    mapEx["B"] = 20
    mapEx["C"] = 30
    fmt.Printf("\nMap: %d", len(mapEx))
}

输出:

Map: 3