idioma ir Palabras clave:
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
Si, de lo contrario, la rotura, para continuar
for i := 0; i < 10; i++ {
if i == 2 {
continue
}
if i == 3 {
break
}
}
si el control de flujo de otra persona, para la circulación, romper el ciclo actual, continuar con este ciclo fuera
swich, caso, por defecto
n := 2
switch n {
case 1:
fmt.Println("n = 1")
case 2:
fmt.Println("n = 2")
default:
fmt.Println(" n不等于1 也不等于2 ")
}
El control de flujo se realiza caso no se realiza por defecto
func
func method(){
fmt.Println("我是一个无参无返回值的函数")
}
Las funciones definidas
interfaz
type person interface{
work()
}
interfaces definidas
aplazar
defer fmt.Println("我后执行")
fmt.Println("我先执行")
Recursos para la liberación añade diferir la aplicación final de la declaración Si ha avanzado más después de la salida
era
var a int
var b int = 3
definir constantes
const
const a int= 1
const b = "我是一个常量"
const(
i = iota + 1
ii
iii
)
constantes de enumeración definen
ir
for i := 0; i < 10; i++ {
if i == 2 {
goto xx
}
}
xx:
fmt.Println("跳转到这里")
El control del proceso salta a la etiqueta de la etiqueta no se recomienda
mapa
//定义一个hash 未初始化
var hash1 map[string]int
//使用make 来初始化内存
var hash2 = make(map[string]int, 5)
La definición de un tipo de hash (diccionario) de datos asociada
tipo, struct
type person struct {
name string
age int
}
type person interface{
engagement()
}
Tipo de Tipo de definición, definición struct de la estructura es similar a la pojo JAVA
Chan
//为 nil 未初始化
var ch1 chan string
//定义一个容量为0的管道
var ch2 = make(chan string)
//定义一个容量为10的管道
var ch2 = make(chan string,10)
Características conducto ir lenguaje pueden ser entendidas como un mensaje cola FIFO
paquete, importación
package main
import "fmt"
importación paquete definido paquete de la bolsa incorporada
caer a través
n := 2
switch n {
case 1:
fmt.Println("n = 1")
case 2:
fmt.Println("n = 2")
fallthrough
default:
fmt.Println(" n不等于1 也不等于2 ")
}
Entonces la salida "n = 2" "n no es igual a 1 no es igual a 2" palabras clave fallthrough harán cumplir la siguiente declaración después del establecimiento del caso
rango
//定义一个map
var hash = make(map[int]int,10)
//填充数据
for i:=0 ;i < 10;i++{
hash[i+i] = i
}
//range 遍历
for k,v := range hash{
fmt.Println(k,v)
}
Si el mapa se utiliza para pasar por el tipo puede ser obtenido directamente "llave" y "valor", si se obtiene la matriz "índice" con "valor"
regreso
func method(x, y int) (z int) {
z = x + y
return
}
Se utiliza para volver de una función
Seleccione
select {
//如果 从chan中取到数据 则 :
case <- chan:
return 1
}
select {
//如果 向chan录入数据 则 :
case chan <- 1:
return 2
}
se utiliza para seleccionar y control de conducto relacionado (canal), continuará para detectar la entrada y salida del conducto