Detailed explanation of iota usage cases in Golang

In the Go community, iota is usually pronounced "eye-oh-tuh". This is an easy and common way to pronounce it. Note that this pronunciation is not official or standard, but a common convention. There may be slightly different pronunciations in different locales.

In the Go language, iota is a predefined identifier used to generate consecutively incremented values ​​in constant declarations. The value of iota starts at 0 and increments by 1 each time it is used in a constant declaration.

The value of iota can be read and used in the following ways:

1. Define a constant group and use iota to generate incremental values:

package main  

import "fmt"  

const (  
    A = iota // 0  
    B        // 1  
    C        // 2  
)  

func main() {
    
      
    fmt.Println(A, B, C) // 输出:0 1 2  
}  

  1. In a constant group, if a constant is not explicitly assigned a value, it will reuse the expression and value of the previous constant:
package main  

import "fmt"  

const (  
    X = iota // 0  
    Y        // 1  
    Z = 5    // 5  
    W        // 5  
)  

func main() {
    
      
    fmt.Println(X, Y, Z, W) // 输出:0 1 5 5  
}  

  1. iota can also perform calculations and operations in expressions, for example using bit operations:
package main  

import "fmt"  

const (  
    FlagA = 1 << iota // 1  
    FlagB             // 2  
    FlagC             // 4  
    FlagD             // 8  
)  

func main() {
    
      
    fmt.Println(FlagA, FlagB, FlagC, FlagD) // 输出:1 2 4 8  
}  

By understanding and using iota, you can easily generate consecutive incrementing values ​​in constant declarations.

Guess you like

Origin blog.csdn.net/wo541075754/article/details/131876994