Go language, capacity defines the maximum number of elements that a particular can hold. Here the task is to find the capacity of Channel, Pointer, and Slice in Golang, we can use the cap() function.
Syntax:
func cap(l Type) int
Here, the type of l is a pointer.
Let us discuss this concept with the help of the examples:
Example 1: In this example, cap() function is used to find the capacity of Pointer in Golang.
// Go program to illustrate how to find the // capacity of the pointer package main import ( "fmt" ) // Main function func main() { // Creating and initializing // pointer // Using var keyword var ptr1 [7]* int var ptr2 [5]*string var ptr3 [8]*float64 // Finding the capacity of // the pointer // Using cap function fmt.Println( "Capacity of ptr1: " , cap(ptr1)) fmt.Println( "Capacity of ptr2: " , cap(ptr2)) fmt.Println( "Capacity of ptr3: " , cap(ptr3)) } |
Output:
Capacity of ptr1: 7 Capacity of ptr2: 5 Capacity of ptr3: 8
Example 2: In this example, cap() function is used to find the capacity of Channel in Golang.
// Go program to illustrate how to find the // capacity of the Channel package main import ( "fmt" ) // Main function func main() { // Creating and initializing // Channel // Using var keyword ch1 := make(chan int , 7) ch2 := make(chan string, 5) ch3 := make(chan float64, 8) // Finding the capacity of // the Channel // Using cap function fmt.Println( "Capacity of Channel1: " , cap(ch1)) fmt.Println( "Capacity of Channel2: " , cap(ch2)) fmt.Println( "Capacity of Channel3: " , cap(ch3)) } |
Output:
Capacity of Channel1: 7 Capacity of Channel2: 5 Capacity of Channel3: 8
Example 3: In this example, cap() function is used to find the capacity of Slice in Golang.
// Go program to illustrate how to find the // capacity of the Slice package main import ( "fmt" ) // Main function func main() { // Creating and initializing // Slice // Using var keyword sl1 := make([] int , 0, 7) sl2 := make([]string, 0, 5) sl3 := make([]float64, 0, 8) // Finding the capacity of // the Slice // Using cap function fmt.Println( "Capacity of Slice1: " , cap(sl1)) fmt.Println( "Capacity of Slice2: " , cap(sl2)) fmt.Println( "Capacity of Slice3: " , cap(sl3)) } |
Output:
Capacity of Slice1: 7 Capacity of Slice2: 5 Capacity of Slice3: 8