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