Golang: para rango

para ley transversal de rango

Cadena, matriz, corte, subíndice de retorno, valor

mapa devuelve clave, val

channel solo devuelve el valor en el canal

Ejemplos

func ForArrayTest () {
     fmt .Println ( " for range: str " ) 
    str: = " hello " 
    para key, val: = range str {
         fmt .Println (key, val) 
    } 

    fmt .Println ( " for range: array " ) 
    matriz: = [ 3 ] int { 1 , 2 , 3 }
     para clave, val: = gama matriz {
         fmt .Println (clave, val) 
    } 

    fmt .Println (" for range: slice " ) 
    slice: = [] int { 1 , 2 , 3 }
     for key, val: = range slice {
         fmt .Println (key, val) 
    } 

    fmt .Println ( " for range: map " ) 
    provinceCapital : = make (mapa [ cadena ] cadena ) 
    provinceCapital [ " 山东" ] = " 济南" 
    provinceCapital [ " 河北"] = " 石家庄" 
    provinceCapital [ " 广东" ] = " 广州" 
    para key, val: = range provinceCapital {
         fmt .Println (key, val) 
    } 

    fmt .Println ( " for range: chan " ) 
    cha1: = make (chan int , 3 ) 
    cha1   <- 1 
    cha1   <- 2 
    cha1   <- 3 
    // cha1 <- 4 
    para val: =rango cha1 {
         fmt .Println (val) 
    } 
}

Salida

para rango: str
 0  104 
1  101 
2  108 
3  108 
4  111 
para rango: matriz
 0  1 
1  2 
2  3 
para rango: corte
 0  1 
1  2 
2  3 
para rango: mapa 
Jinan 
, Shandong , Shijiazhuang, Hebei, 
Guangzhou, Guangzhou 
para rango: chan
 1 
2 
3 
error fatal: todas las gorutinas están dormidas - ¡Desbloqueo!

 

Supongo que te gusta

Origin www.cnblogs.com/kaituorensheng/p/12681620.html
Recomendado
Clasificación