SoFunction
Updated on 2025-03-02

The difference summary of = and := in Go

In Go language, =  and :=  are two different assignment methods, each with its specific usage and meaning. As a Golang development engineer, understanding the difference between them is very important in writing clear and accurate code.

=Assignment

usage

  • = is used to assign a value to a declared variable.
  • If the variable has been declared, you can use = to change its value.

Example

var x int = 5  // Declare the variable x and assign the value to 5
x = 10         // Use = to modify the value of x to 10
(x) // Output 10  

Notice

  • = It cannot be used to declare variables. It can only be used to change the value of a declared variable.

:= Assignment

usage

  • := is a form of short variable declaration that is used to declare and initialize variables in the same line.
  • Suitable for inside a function, new local variables can be easily declared.

Example

x := 5  // Use := to declare and initialize the variable x
(x) // Output 5  

Notice

  • Cannot be used at the package level :=, only used inside functions.
  • If the variable already exists, using := will cause a compilation error because it will try to redeclare the variable; if you want to reassign the value, you should use =.

Use scenarios

Use := Applicable to local scope when variables are first declared and initialized.

Use = to update the value of declared variables, which is more applicable and can be used for local and global variables.

Example comparison

package main  

import "fmt"  

func main() {  

    // Declare variables with :=
    a := 10  

    (a) // Output 10


    // Use = to modify the value of the variable
    a = 20  

    (a) // Output 20


    // Use var to declare variables
    var b int  

    b = 30 // Use = for assignment
    (b) // Output 30
}  

By clearly distinguishing these two assignment methods, you can better manage the scope of variables and improve the readability of your code. In actual development, it is usually recommended to use := to simplify the declaration and initialization of variables, especially inside functions.

This is the end of this article about the difference between = and := in Go. For more relevant contents of Go = and :=, please search for my previous articles or continue browsing the related articles below. I hope everyone will support me in the future!