Declaración de control de flujo
En los lenguajes de programación de computadoras, las declaraciones de control de flujo son muy importantes, ya que le permiten a la máquina saber cuándo hacer algo y hacerlo varias veces. Hay principalmente declaraciones condicionales y en bucle.
Golang
Solo hay un tipo de bucle :, for
solo un tipo de juicio :, if
y hay una switch
declaración de selección condicional especial .
Primero, la declaración condicional
Por ejemplo:
// 判断语句
if a > 0 {
fmt.Println("a>0")
} else {
fmt.Println("a<=0")
}
Cuando a > 0
la impresión a>0
o impresión a<=0
. Las condiciones a > 0
no requieren paréntesis.
La declaración condicional indica qué hacer, de lo contrario, qué hacer.
Varias formas de juicio son:
if a > 0{
}
Sólo if
.
if a > 0{
}else{
}
Los hay if
también else
.
if a > 0{
}else if a == 0 {
}else{
}
Se puede mezclar en el medio else if
.
Si hay demasiadas condiciones intermedias, puede usar switch
declaraciones condicionales:
num := 4
switch num {
case 3:
fmt.Println(3)
case 4:
fmt.Println(4)
case 5:
fmt.Println(5)
default:
fmt.Println("not found")
Dichas declaraciones serán case
juzgadas una por una. Si una case
cumple con la condición, ingrese la case
instrucción de ejecución, de lo contrario ingrese default
.
Lo anterior num := 4
ingresará case 4
, imprime el número 4 y finaliza. Si lo hace num := 5
, imprimirá el número 5 y finalizará. Si lo hace num := 8
, se imprimirá la cadena no encontrada.
En segundo lugar, la declaración de bucle
Declaración de bucle:
// 循环语句
for i := 9; i <= 10; i++ {
fmt.Printf("i=%d\n", i)
}
Entre ellas se i
encuentran las variables locales. El valor se asigna antes del ciclo por primera vez 9
, y luego se juzga si se cumple la i<=10
condición. Si se cumple , se agrega la impresión del ciclo 1
, y se agregará después de cada ciclo , es decir i++
, continúe juzgando si se cumple la condición.
El formulario es:
for 起始状态; 进入循环需满足的条件; 每次循环后执行的指令 {
}
También puedes recorrer sin parar:
// 死循环语句
a = 0
for {
if a >= 10 {
fmt.Println("out")
// 退出循环
break
}
a = a + 1
if a > 5 {
continue
}
fmt.Println(a)
}
bucle infinito directamente for {}
, sin necesidad de añadir condición de la espalda, y luego, cuando a>=10
el tiempo fuera del circuito se puede utilizar break
para indicar a saltar for {}
, para a > 5
que no queremos para imprimir los valores, puede utilizar continue
omitir la frase siguiente fmt.Println(a)
, una vez más avanzar en la circulación.
切片
Y 字典
se puede utilizar para desplazarse a través de los datos:
e := []int64{1, 2, 3} // slice
f := map[string]int64{"a": 3, "b": 4} // map
// 循环切片
for k, v := range e {
fmt.Println(k, v)
}
// 循环map
for k, v := range f {
fmt.Println(k, v)
}
El resultado del recorrido del segmento es: subíndice de datos, datos, y el resultado del recorrido del diccionario: la clave de los datos, el valor de los datos:
0 1
1 2
2 3
3 3
a 3
b 4
f 5
Entrada de artículo de serie
Soy la estrella Chen, bienvenido he escrito personalmente estructuras de datos y algoritmos (Golang lograr) , comenzando en el artículo para leer más amigable GitBook .
- Estructura de datos y algoritmo (implementación de Golang) (1) Una introducción simple a Golang-Prefacio
- Estructuras de datos y algoritmos (implementación de Golang) (2) Una introducción simple a los paquetes, variables y funciones de Golang
- Estructura de datos y algoritmo (implementación de Golang) (3) Una introducción simple a la declaración de control de flujo de Golang
- Estructuras de datos y algoritmos (implementación de Golang) (4) Una introducción simple a las estructuras y métodos de Golang
- Estructura de datos y algoritmo (implementación de Golang) (5) Una introducción simple a la interfaz de Golang
- Estructura de datos y algoritmo (implementación de Golang) (6) Una introducción simple a la concurrencia, las rutinas y los canales de Golang
- Estructura de datos y algoritmo (implementación de Golang) (7) Una introducción simple a la biblioteca estándar de Golang
- Estructura de datos y algoritmo (implementación de Golang) (8.1) Conocimientos básicos-Prefacio
- Estructura de datos y algoritmo (implementación de Golang) (8.2) Conocimiento básico: dividir y conquistar y recurrir
- Estructura y algoritmo de datos (implementación de Golang) (9) Complejidad del algoritmo de conocimiento básico y símbolo progresivo
- Estructura de datos y algoritmo (implementación de Golang) (10) Conocimientos básicos: el método principal de complejidad del algoritmo
- Estructuras de datos y algoritmos (implementación de Golang) (11) Estructuras de datos comunes-Prefacio
- Estructuras de datos y algoritmos (implementación de Golang) (12) Listas enlazadas de estructuras de datos comunes
- Estructuras de datos y algoritmos (implementación de Golang) (13) Estructuras de datos comunes: matrices de longitud variable
- Estructuras de datos y algoritmos (implementación de Golang) (14) Estructuras de datos comunes: pila y cola
- Estructuras de datos y algoritmos (implementación de Golang) (15) Lista de estructuras de datos comunes
- Estructuras de datos y algoritmos (implementación de Golang) (16) Estructuras de datos comunes-Diccionario
- Estructuras de datos y algoritmos (implementación de Golang) (17) Estructuras de datos comunes: árboles
- Estructura de datos y algoritmo (implementación de Golang) (18) Algoritmo de clasificación-Prefacio
- Estructura de datos y algoritmo (implementación de Golang) (19) Algoritmo de clasificación-clasificación de burbujas
- Estructura de datos y algoritmo (implementación de Golang) (20) Clasificación de algoritmos de selección
- Estructura de datos y algoritmo (implementación de Golang) (21) Clasificación de algoritmo de inserción
- Estructura de datos y algoritmo (implementación de Golang) (22) Algoritmo de clasificación-Clasificación de Hill
- Estructura de datos y algoritmo (implementación de Golang) (23) Clasificación de algoritmo de fusión
- Estructura de datos y algoritmo (implementación de Golang) (24) Algoritmo de clasificación prioritario y clasificación de montón
- Estructura de datos y algoritmo (implementación de Golang) (25) Algoritmo de clasificación: clasificación rápida
- Estructura de datos y algoritmo (implementación de Golang) (26) Tabla de algoritmo de búsqueda de hash
- Estructura de datos y algoritmo (implementación de Golang) (27) Árbol de búsqueda binario de algoritmo de búsqueda
- Estructura y algoritmo de datos (implementación de Golang) (28) Árbol de algoritmo de búsqueda-AVL
- Estructura de datos y algoritmo (implementación de Golang) (29) Árbol de algoritmo de búsqueda-2-3 y árbol rojo-negro inclinado a la izquierda
- Estructura de datos y algoritmo (implementado por Golang) (30) Árbol de algoritmo de búsqueda-2-3-4 y árbol rojo-negro ordinario