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.
package main
import (
"fmt"
)
func main() {
var ptr1 [7]* int
var ptr2 [5]*string
var ptr3 [8]*float64
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.
package main
import (
"fmt"
)
func main() {
ch1 := make(chan int , 7)
ch2 := make(chan string, 5)
ch3 := make(chan float64, 8)
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.
package main
import (
"fmt"
)
func main() {
sl1 := make([] int , 0, 7)
sl2 := make([]string, 0, 5)
sl3 := make([]float64, 0, 8)
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