var keyword in Go

var keyword in Golang is used to create the variables of a particular type having a proper name and initial value. Initialization is optional at the time of declaration of variables using var keyword that we will discuss later in this article.

Syntax:

var identifier type = expression

Example:



// here geek1 is the identifier 
// or variable name, int is the
// type and 200 is assigned value
var geek1 int = 200

As you know that Go is a statically typed language but it still provides a facility to remove the declaration of data type while declaring a variable as shown in below syntax. This is generally termed as the Type Inference.

Syntax:

var identifier = initialValue

Example:

var geek1 = 200

Multiple variable declarations using var Keyword

var keyword is also used to declare multiple variables in a single line. You can also provide the initial value to the variables as shown below:

  • Declaring multiple variables using var keyword along with the type:
    var geek1, geek2, geek3, geek4 int
  • Declaring multiple variables using var keyword along with the type and initial values:
    var geek1, geek2, geek3, geek4 int = 10, 20, 30, 40

Note:

  • You can also use type inference(discussed above) that will let the compiler to know about the type i.e. there is an option to remove the type while declaring multiple variables.

    Example:

    var geek1, geek2, geek3, geek4 = 10, 20, 30.30, true
  • You can also use multiple lines to declare and initialize the values of different types using a var keyword as follows:

    Example:

    var(
         geek1 = 100
         geek2 = 200.57
         geek3 bool
         geek4 string = "GeeksforGeeks"
    )
    
  • While using type during declaration you are only allowed to declare multiple variables of the same type. But removing type during declarations you are allowed to declare multiple variables of different types.

    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Go program to demonstrate the multiple 
    // variable declarations using var keyword
    package main
      
    import "fmt"
      
    func main() {
      
        // Multiple variables of the same type
        // are declared and initialized
        // in the single line along with type
        var geek1, geek2, geek3 int = 232, 784, 854
       
        // Multiple variables of different type
        // are declared and initialized
        // in the single line without specifying
        // any type
        var geek4, geek5, geek6 = 100, "GFG", 7896.46
      
           
       // Display the values of the variables
       fmt.Printf("The value of geek1 is : %d\n", geek1)
                                             
       fmt.Printf("The value of geek2 is : %d\n", geek2)
                                             
       fmt.Printf("The value of geek3 is : %d\n", geek3)
      
       fmt.Printf("The value of geek4 is : %d\n", geek4)
                                             
       fmt.Printf("The value of geek5 is : %s\n", geek5)
                                             
       fmt.Printf("The value of geek6 is : %f", geek6)
                                                
    }

    chevron_right

    
    

    Output:

    The value of geek1 is : 232
    The value of geek2 is : 784
    The value of geek3 is : 854
    The value of geek4 is : 100
    The value of geek5 is : GFG
    The value of geek6 is : 7896.460000
    

Important Points about var keyword:

  • During the declaration of the variable using var keyword, you can either remove type or = expression but not both. If you will do, then the compiler will give an error.
  • If you removed the expression then the variable will contain the zero-value for numbers and false for booleans “” for strings and nil for interface and reference type by default. So, there is no such concept of an uninitialized variable in Go language.

    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Go program to illustrate
    // concept of var keyword
    package main
        
    import "fmt"
        
    func main() {
       
        // Variable declared but
        // no initialization
        var geek1 int
        var geek2 string
        var geek3 float64
        var geek4 bool
       
        // Display the zero-value of the variables
        fmt.Printf("The value of geek1 is : %d\n", geek1)
                                   
        fmt.Printf("The value of geek2 is : %s\n", geek2)
       
        fmt.Printf("The value of geek3 is : %f\n", geek3)
      
        fmt.Printf("The value of geek4 is : %t", geek4)
                                      
    }

    chevron_right

    
    

    Output:

    The value of geek1 is : 0
    The value of geek2 is : 
    The value of geek3 is : 0.000000
    The value of geek4 is : false
    


My Personal Notes arrow_drop_up

Technical Content Engineer at GeeksforGeeks

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : shubham_singh



Article Tags :

1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.