Open In App

How to find the capacity of Channel, Pointer and Slice in Golang?

Last Updated : 10 May, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

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


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads