30 ejemplos de programación de Golang para principiantes

30 Ejemplos De Programacion De Golang Para Principiantes



Golang, que también se llama lenguaje de programación Go, es un lenguaje de programación de código abierto diseñado por Google en 2007. La versión 1.0 de este lenguaje se lanzó en 2012. Es un lenguaje de programación estructurado como C y diferentes tipos de aplicaciones como servicios de redes, nube. Se pueden desarrollar aplicaciones, aplicaciones web, etc. mediante el lenguaje Golang. Contiene muchos tipos de paquetes como Python. Es muy fácil de aprender, lo que hace que este lenguaje sea popular entre los nuevos programadores. En este tutorial se explican 30 ejemplos de programación de Golang para aprender Golang desde lo básico.

Requisitos previos:

Golang es compatible con diferentes tipos de sistemas operativos. En esta parte del tutorial se muestra la forma de instalar Golang en Ubuntu. Ejecute los siguientes comandos para actualizar el sistema e instalar Golang en el sistema antes de practicar los ejemplos de este tutorial.







$ sudo actualización adecuada
$ sudo apto instalar llegar a

Ejecute el siguiente comando para verificar la versión instalada de Golang.



$ ir versión

Tabla de contenido:



  1. hola hola mundo
  2. variables de cadena de golang
  3. Golang int a cadena
  4. Cadena de Golang hacia adentro t
  5. Concatenación de cadenas de Golang
  6. Cadena multilínea de Golang
  7. Cuerda dividida de Golang
  8. sprint de golang
  9. enumeración de golang
  10. estructura de golang
  11. conjunto del Golán
  12. conjuntos de golang
  13. Golang para bucle
  14. Golang para el alcance
  15. Golang mientras bucle
  16. golang continuar
  17. Caja del interruptor Golang
  18. número aleatorio de golang
  19. dormir golang
  20. tiempo dorado
  21. golang uuido
  22. Golang leer archivo
  23. Golang lee el archivo línea por línea
  24. Golang escribir en el archivo
  25. Golang comprueba si el archivo existe
  26. Golán csv
  27. golang yaml
  28. Solicitud http de golang
  29. Argumentos de la línea de comando de Golang
  30. Manejo de errores de Golang


hola hola mundo

El principal El paquete de Golang contiene todos los paquetes necesarios para la programación de Golang y es necesario para iniciar la ejecución del script de Golang. El fmt Se requiere el paquete para importar para imprimir la cadena formateada en la terminal. Cree un archivo Golang con el siguiente script. El valor de la cadena, 'Hola mundo', se imprimirá en la terminal después de ejecutar el script.





//Importamos el paquete fmt para imprimir el resultado
importar 'fmt'

//Definimos la función main() para iniciar la ejecución
función principal () {

//Imprime un mensaje simple con la nueva línea
fmt . Imprimir ( 'Hola Mundo.' )

}

Ejecute el siguiente comando para ejecutar el script. Aquí, el script se guardó en el ejemplo 1, vaya al archivo.

$ ve a ejecutar ejemplo1.go

Ejecute el siguiente comando para crear el archivo binario del archivo Golang.



$ ir a construir example1.go

Ejecute el siguiente comando para ejecutar el archivo ejecutable.

$ . / Ejemplo 1

El siguiente resultado aparecerá después de ejecutar los comandos anteriores,

  p1

Ve arriba


variables de cadena de golang

Las variables de cadena se pueden utilizar sin definir el tipo de datos y con el tipo de datos en Golang. Cree un archivo Golang con el siguiente script que imprimirá datos de cadena simples y los datos de cadena con las variables de cadena. Los usos de Imprimirf() y Imprimirln() Las funciones se han mostrado en el script.

paquete principal
//Importamos el paquete fmt para imprimir el resultado
importar 'fmt'

//Definir la función principal()
función principal () {

  //Imprime un valor de cadena con una nueva línea
fmt . Imprimir ( 'Aprenda Golang en LinuxHint.com. \norte ' )

  //Definimos la primera variable de cadena
  era str1 = 'Programación Golang'.

  //Imprime la variable sin nueva línea
fmt . Imprimir ( 'Aprende %s' , str1 )

  //Definimos la segunda variable de cadena
  era str2 = 'fácil de aprender.'

  //Imprime la variable con una nueva línea
fmt . Imprimir ( 'Es' , str2 )
}

El siguiente resultado aparecerá después de ejecutar el script anterior. La salida de las dos cadenas concatenadas se imprime aquí.

  p2

Ve arriba


Golang int a cadena

El strconv.Choke() y strconv.FormatInt() Las funciones se pueden utilizar para convertir el número entero en un valor de cadena en Golang. El strconv.Choke() se utiliza para convertir el valor entero en una cadena de números. El strconv.FormatInt() La función se utiliza para convertir valores enteros basados ​​en decimales en la cadena. Cree un archivo Golang con el siguiente script que muestra la forma de convertir el número entero en una cadena en Golang utilizando las funciones mencionadas anteriormente. Se tomará un número del usuario y el valor de cadena correspondiente del número se imprimirá como resultado.

//Añadir el paquete principal
paquete principal
//Importamos los paquetes fmt y strconv
importar (
  'fmt'
  'strconv'
)

//Definir la función principal
función principal ()   {

  //Declarar una variable entera
  era norte En t
  //Imprimir un mensaje
fmt . Imprimir ( 'Ingrese un numero: ' )
  //Recibir información del usuario
fmt . Escanear ( & norte )

  //Convierte un entero en una cadena usando la función Itoa()
convertir1 := strconv . ahogue ( norte )
fmt . Imprimir ( 'Convirtiendo un entero en una cadena usando Itoa(): %s \norte ' , convertir1 )

  //Convierte un entero en una cadena usando la función FormatInt()
convertir2 := strconv . FormatoInt ( int64 ( norte ), 10 )
fmt . Imprimir ( 'Convertir un entero en una cadena usando FormatInt(): %s \norte ' , convertir2 )
}

El siguiente resultado aparecerá después de ejecutar el script. El número. 45 se ha convertido en la cadena. “45”.

  p3

Ve arriba


Cadena de Golang a int

El strconv.Atoi() La función se utiliza para convertir la cadena a un número entero en Golang. Toma un valor de cadena que se convertirá en un número entero y devuelve dos tipos de valores. Un valor es el número entero si la conversación tiene éxito y otro valor es el error si la conversación no tiene éxito en caso contrario. nulo se devolverá el valor. Cree un archivo Golang con el siguiente script que convertirá una cantidad de valores de cadena en un número entero usando strconv.Atoi() función. El valor de la cadena, '342', se convertirá en el número 342 y se imprimirá después de la ejecución.

//Añadir el paquete principal
paquete principal
//Importamos los paquetes fmt y strconv
importar (
  'fmt'
  'strconv'
)

//Definir la función principal
función principal ()   {

  //Declarar una variable de cadena
cadena := '342'

  //Convierte cadena a número entero usando la función Atoi()
precio , errar := strconv . remolque ( cadena )

  //comprueba si hay errores
  si errar == nulo {
    //Imprime el valor convertido
fmt . Imprimir ( 'El precio del libro es %d \norte ' , precio )
  } demás {
    //Imprime el mensaje de error
fmt . Imprimir ( errar )
  }
}

El siguiente resultado aparecerá después de ejecutar el script. El valor de la cadena, '342', se ha convertido a 342 aquí.

  p4

Ve arriba


Concatenación de cadenas de Golang

Cree un archivo Golang con el siguiente script que concatenará las cadenas con el operador '+' utilizando la función Printf(). La función Println() se ha utilizado aquí para imprimir el valor de cadena concatenado utilizando el operador '+' y la función Printf() se ha utilizado aquí para imprimir el valor de cadena concatenado utilizando el especificador '%s'. Se han declarado dos variables de cadena en el script que se concatenan más adelante.

//Añadir el paquete principal
paquete principal
//Importamos el paquete fmt para imprimir el resultado
importar 'fmt'

//Definir la función principal
función principal () {

    //Declarar dos variables de cadena
    era str1 , str2 cadena

    //Asignar valores de cadena
str1 = 'Golán'
str2 = 'Programación'

    //Concatenar cadena usando el operador '+'
fmt . Imprimir ( 'Valor de cadena concatenada usando el operador '+':' , str1 + str2 )
    //Concatenar cadena usando el especificador '%s'
fmt . Imprimir ( 'Valor de cadena concatenada usando el especificador de formato: %s%s \norte ' , str1 , str2 )
}

El siguiente resultado aparecerá después de ejecutar el script.

  p5

Ve arriba


Cadena de varias líneas de Golang

En el siguiente ejemplo se muestran tres formas diferentes de imprimir el texto de varias líneas utilizando el script Golang. El carácter '\n' se ha utilizado en la primera variable de cadena para generar el texto de varias líneas. Las comillas invertidas (`) se han utilizado en la segunda cadena para imprimir el texto de varias líneas. Las comillas invertidas (`) con especificadores se han utilizado en la tercera cadena para imprimir texto de varias líneas.

paquete principal
//Importamos el paquete fmt
importar 'fmt'

//Definir la función principal
función principal () {

    //Declarar un valor de cadena de varias líneas con el carácter '\n'
str1 := 'La programación de Golang es muy fácil \norte aprender. \norte \norte '
fmt . Imprimir ( str1 )

    //Declarar un valor de cadena de varias líneas con comillas invertidas(`)
str2 := `Aprende
golang
de
LinuxSugerencia
Blog.`

fmt . Imprimir ( '%s \norte \norte ' , str2 )

    //Declarar dos valores de cadena
idioma := 'golán'
desarrollador := 'Google'
    //Declarar un valor de cadena con variables y comillas invertidas
str3 := `%s
es
desarrollado
por
%s.`

fmt . Imprimir ( str3 , idioma , desarrollador )
    //Añadir una nueva línea
fmt . Imprimir ()
}

El siguiente resultado aparecerá después de ejecutar el script. La salida de las tres variables de cadena que contienen valores de cadena de varias líneas se ha impreso aquí.

  p6

Ve arriba


Cuerda dividida de Golang

La función strings.Split() se ha utilizado para dividir los datos de la cadena según el separador. El siguiente script tomará un valor de cadena del usuario y dividirá el valor de la cadena según los dos puntos (:). El número total de valores divididos y los dos primeros valores divididos se imprimirán después de la ejecución.

paquete principal
//Importamos los paquetes fmt y strings
importar (
  'fmt'
  'instrumentos de cuerda'
)

//Definir la función principal
función principal () {

    //Declarar una variable de cadena
    era cadena cadena
    //Imprimir un mensaje rápido
fmt . Imprimir ( 'Ingrese una cadena con dos puntos (:) - ' )
    //Recibir información del usuario
fmt . Escanear ( & cadena )

    //Definir el separador
separador := ':'
    //Dividimos el valor de la cadena
valor_dividido := instrumentos de cuerda . Dividir ( cadena , separador )
    //Cuenta el número de valores divididos
longitud := solo ( valor_dividido )

    //Imprime el número de valores divididos
fmt . Imprimir ( 'El número total de valores divididos es %d \norte ' , longitud )
    //Imprime los valores divididos
fmt . Imprimir ( 'El primer valor dividido es' , valor_dividido [ 0 ])
fmt . Imprimir ( 'El segundo valor de división es' , valor_dividido [ 1 ])
}

El siguiente resultado aparecerá después de ejecutar el script. El valor de entrada, 'golang:google' se ha dividido en dos partes según los dos puntos (:).

  p7

Ve arriba


sprint de golang

La función Sprintf() se utiliza en Golang para almacenar los valores de cadena formateados en una variable como otros lenguajes de programación estándar. En el siguiente script se han declarado una cadena y una variable entera. Los valores de estas variables se han formateado y almacenado en una variable utilizando la función Sprintf().

paquete principal
//Importamos el paquete fmt
importar 'fmt'

//Definir la función principal
función principal () {

  //Declarar dos variables
  era cadena cadena
  era en uno En t

  //Asignar valor de cadena
cadena = 'golán'
  //Asignar valor numérico
en uno = 2012

  //Almacena el valor de la cadena combinada en una variable
cadena_combinada := fmt . Sprintf ( 'La primera versión de %s se lanza en %d.' , cadena , en uno )
  //Imprime la variable
fmt . Imprimir ( 'La salida del Sprintf(): \norte %s \norte ' , cadena_combinada )
}

El siguiente resultado aparecerá después de ejecutar el script.

  p8

Ve arriba


enumeración de golang

La enumeración o enumerador se ha utilizado en Golang para declarar un tipo de datos de un grupo de valores constantes relacionados. La declaración del tipo de enumeración en Golang es diferente a la de otros lenguajes de programación. Se declaró un tipo de enumeración de 12 valores y el valor numérico del valor de enumeración particular se imprimió más tarde.

paquete principal
//Importamos el paquete fmt
importar 'fmt'

//Declarar el tipo para almacenar el valor del mes en número (1-12)
tipo Mes En t

//Declarar constantes para el valor de cada mes a partir de 1
constante (
enero mes = iota + 1
Feb
Mar
Abr
Puede
Jun
Jul
Ago
Sep
Oct
Nov
Dic
)

//Declarar función principal
función principal () {
    //Declarar variable con valor de mes
    era M_núm = Puede
    //Imprime el valor numérico correspondiente del mes
fmt . Imprimir ( 'El valor del mes en número es ' , M_núm )
}

El siguiente resultado aparecerá después de ejecutar el script. El valor numérico correspondiente de mayo es 5.

  p9

Ve arriba


estructura de golang

La estructura o estructura se utiliza en Golang para declarar un tipo que contiene diferentes tipos de variables. Es útil para almacenar datos tabulares o registros múltiples. En el siguiente script se ha declarado una variable de estructura de cuatro elementos. A continuación, se agregaron dos registros utilizando la variable de estructura definida. La forma de imprimir los valores de la estructura de diferentes maneras se ha mostrado en la última parte del script.

paquete principal
//Importar paquete fmt
importar 'fmt'

//Definir una estructura de cuatro elementos
tipo Producto estructura {
identificación cadena
nombre cadena
tamaño cadena
precio En t
}

función principal () {

    //Declarar la primera variable de estructura
producto1 := Producto { 'p-1209' , 'disco duro' , '5TB' , 80 }
    //Declarar la segunda variable de estructura
producto2 := Producto { 'p-7342' , 'Ratón' , '' , 15 }

    //Imprimir las variables de estructura
fmt . Imprimir ( 'Primer producto: ' , producto1 )
fmt . Imprimir ( 'Segundo producto: ' , producto2 )

    //Imprime cuatro valores de la primera variable de estructura por separado
fmt . Imprimir ( 'Primeros detalles del producto:' )
fmt . Imprimir ( 'IDENTIFICACIÓN: ' , producto1 . identificación )
fmt . Imprimir ( 'Nombre: ' , producto1 . nombre )
fmt . Imprimir ( 'Tamaño: ' , producto1 . tamaño )
fmt . Imprimir ( 'Precio: ' , producto1 . precio )
}

El siguiente resultado aparecerá después de ejecutar el script.

  p10

Ve arriba


conjunto del Golán

La variable de matriz se utiliza en Golang para almacenar múltiples valores del tipo de datos particular como otros lenguajes de programación estándar. En el script se muestra la forma de declarar y acceder a una matriz de valores de cadena y una matriz de valores numéricos.

paquete principal
//Importar paquete fmt
importar 'fmt'

función principal () {

    //Declarar una matriz de valores de cadena
str_arr := [ 4 ] cadena { 'google.com' , 'ask.com' , 'bing.com' , 'you.com' }
    //Imprime la matriz de cadenas
fmt . Imprimir ( 'Los valores de la matriz de cadenas son: ' , str_arr )
    //Imprime el tercer elemento del array
fmt . Imprimir ( 'El tercer valor de la matriz es' , str_arr [ 2 ])

    //Declarar una matriz de valores numéricos
int_arr := [ 6 ] En t { 65 , 34 , 12 , 81 , 52 , 70 }
    //Imprime la matriz de números enteros
fmt . Imprimir ( 'Los valores de la matriz entera son: ' , int_arr )
    //Imprime el 4to elemento del array
fmt . Imprimir ( 'El cuarto valor de la matriz es' , int_arr [ 3 ])
}

El siguiente resultado aparecerá después de ejecutar el script.

  p11

Ve arriba


conjuntos de golang

El conjunto es otra estructura de datos de Golang para almacenar una colección de valores distintos. Se utiliza para almacenar valores únicos en un objeto. Golang no tiene una estructura de datos establecida incorporada como otros lenguajes de programación. Pero esta característica se puede implementar usando struct{} y map vacíos. En el siguiente script, se declaró una variable establecida de cadenas mediante el uso de un mapa con la estructura vacía. A continuación, se agregaron tres valores, se eliminó un valor y se agregó nuevamente un valor en el conjunto. Los valores del conjunto se han impreso juntos y por separado.

paquete principal
//Importar paquete fmt
importar 'fmt'

función principal () {
    //Definir un conjunto de cadenas
justo := mapa [ cadena ] estructura {}{}
    //Inserta tres elementos en el conjunto usando una estructura vacía
justo [ 'Ir' ] = estructura {}{}
justo [ 'Intento' ] = estructura {}{}
justo [ 'Pitón' ] = estructura {}{}

    //Imprime los elementos existentes actualmente del conjunto.
fmt . Imprimir ( justo )

    //Eliminar un elemento del conjunto
borrar ( justo , 'Pitón' )

    //Añadir un nuevo elemento al conjunto
justo [ 'Java' ] = estructura {}{}

    //Imprime los valores establecidos después de eliminar y agregar un elemento
fmt . Imprimir ( justo )

fmt . Imprimir ( ' \norte Los valores establecidos son: \norte ' )
    //Imprime cada elemento del conjunto por separado
    para yo := rango justo {
fmt . Imprimir ( yo )
    }
}

El siguiente resultado aparecerá después de ejecutar el script.

  p12

Ve arriba


Golang para bucle

El bucle for se puede utilizar de diferentes maneras y para diferentes propósitos en Golang. El uso de tres expresiones para bucle se muestra en el siguiente script. El bucle se repetirá 5 veces para tomar 5 valores de entrada y la suma de estos valores de entrada se imprimirá más tarde.

paquete principal
//Importar paquete fmt
importar 'fmt'

función principal () {

  //Declarar una variable entera
  era número En t
  //Declaramos una variable para almacenar el valor de la suma
  era suma = 0
  //Definir un bucle for
  para norte := 1 ; norte < = 5 ; norte ++ {
    //Imprimir un mensaje rápido
fmt . Imprimir ( 'Ingrese un numero:' )
    //Recibir información del usuario
fmt . Escanear ( & número )
    //Suma el número de entrada con la variable de suma
suma = suma + número
  }
  //Imprime el resultado de la suma
fmt . Imprimir ( 'La suma de cinco valores de entrada es %d \norte ' , suma )

}

El siguiente resultado aparecerá después de ejecutar el script. La suma de 6, 3, 4, 7 y 9 es 29.

  p13

Ve arriba


Golang para el alcance

El rango se usa con el bucle for en Golang para acceder a cadenas, matrices y mapas. La forma de acceder a una matriz de cadenas mediante el uso de un bucle for con rango se muestra en el siguiente script. El primer bucle for imprimirá solo los valores de la matriz y el segundo bucle for imprimirá los índices y valores de la matriz.

paquete principal
//Importar paquete fmt
importar 'fmt'

función principal () {

  //Declarar una matriz de cadenas
flores := [ 4 ] cadena { 'Rosa' , 'Lirio' , 'Dalia' , 'Flor del sol' }

fmt . Imprimir ( 'Los valores de la matriz son:' )
  //Imprime los valores de la matriz
  para _ , vale := rango flores {
fmt . Imprimir ( vale )
  }

fmt . Imprimir ( 'Los índices y valores de la matriz son:' )
  //Imprime los valores de la matriz según el índice.
  para en , vale := rango flores {
fmt . Imprimir ( '%d := %s \norte ' , en + 1 , vale )
  }
}

El siguiente resultado aparecerá después de ejecutar el script.

  p14

Ve arriba


Golang mientras bucle

Golang no tiene bucle while como otros lenguajes de programación. Sin embargo, la característica del bucle while se puede implementar en Golang utilizando el bucle for. La forma de implementar un bucle while mediante el uso de un bucle for se muestra en el siguiente script. El bucle for se repetirá 4 veces y tomará cuatro números. La suma de estos números con el valor fraccionario se imprimirá más adelante.

paquete principal
//Importar paquete fmt
importar 'fmt'


función principal () {
encimera := 1
suma := 0 . 0
  era número flotador64
  para contador < = 4 {
    //Imprimir un mensaje rápido
fmt . Imprimir ( 'Ingrese un numero: ' )
    //Recibir información del usuario
fmt . Escanear ( & número )
    //Suma el número de entrada con la variable de suma
suma = suma + número
    //Incrementa el contador en 1
encimera ++
  }
  //Imprime el resultado de la suma
fmt . Imprimir ( 'La suma de cuatro valores de entrada es %0.2f \norte ' , suma )
}

El siguiente resultado aparecerá después de ejecutar el script. La suma de 6,8, 3,2, 8,5 y 4,9 es 23,40.

  p15

Ve arriba


golang continuar

La declaración de continuación se usa en cualquier bucle para omitir declaraciones particulares según una condición. En el siguiente script, el bucle for se ha utilizado para iterar el bucle que omitirá los valores del segundo y cuarto valor de la matriz mediante la instrucción continue.

paquete principal
//Importar paquete fmt
importar 'fmt'


función principal () {
encimera := 1
suma := 0 . 0
  era número flotador64
  para contador < = 4 {
    //Imprimir un mensaje rápido
fmt . Imprimir ( 'Ingrese un numero: ' )
    //Recibir información del usuario
fmt . Escanear ( & número )
    //Suma el número de entrada con la variable de suma
suma = suma + número
    //Incrementa el contador en 1
encimera ++
  }
  //Imprime el resultado de la suma
fmt . Imprimir ( 'La suma de cuatro valores de entrada es %0.2f \norte ' , suma )
}

El siguiente resultado aparecerá después de ejecutar el script.

  p16

Ve arriba


Caja del interruptor Golang

La declaración switch-case en Golang es similar a otros lenguajes de programación, pero no se requiere ninguna declaración break con cada declaración case en Golang. En el siguiente ejemplo se muestra la forma de definir múltiples valores de casos dentro del bloque de interruptores.

paquete principal
//Importar paquete fmt
importar 'fmt'

función principal () {

    era norte En t
    //Imprimir un mensaje rápido
fmt . Imprimir ( 'Ingrese el valor del mes en número: ' )
    //Recibir información del usuario
fmt . Escanear ( & norte )

    //Imprimir mensaje basado en el valor de caso coincidente
    cambiar norte {
    caso 1 , 2 , 3 , 4 :
fmt . Imprimir ( 'Semestre de invierno'. )

    caso 5 , 6 , 7 , 8 :
fmt . Imprimir ( 'Semestre de verano.' )

    caso 9 , 10 , 11 , 12 :
fmt . Imprimir ( 'Semestre de otoño.' )

    por defecto :
fmt . Imprimir ( 'El valor del mes está fuera de rango'. )
    }
}

El siguiente resultado aparecerá después de ejecutar el script.

  p17

Ve arriba


número aleatorio de golang

El paquete math/rand se ha utilizado en Golang para generar números aleatorios. La forma de generar cuatro tipos de números aleatorios se muestra en el siguiente script. La función rand.Int() se utiliza para generar un número aleatorio entero largo. La función rand.Intn(n) se utiliza para generar un número entero aleatorio del rango particular y el valor más alto se pasará como valor de argumento de la función. El 999 se establece como valor del argumento en el script. La función rand.Float32() se utiliza para generar un número aleatorio fraccionario corto y la función rand.Float64() se utiliza para generar un número aleatorio fraccionario largo.

//Agregar paquete principal
paquete principal
//Importar módulos requeridos
importar (
  'fmt'
  'tiempo'
  'matemáticas/rand'
)

función principal () {
  //Establece la semilla para generar un número aleatorio
rand . Semilla ( tiempo . Ahora () . UnixNano ())
  //Imprimir entero aleatorio generado
fmt . Imprimir ( 'Valor entero aleatorio: ' , rand . En t ())
  //Imprime el número entero aleatorio dentro de 999
fmt . Imprimir ( 'Valor entero aleatorio con rango: ' , rand . En t ( 999 ))
  //Imprime el flotante aleatorio de 32 bits
fmt . Imprimir ( 'Valor flotante aleatorio de 32 bits:' , rand . flotador32 ())
  //Imprime el flotante aleatorio de 64 bits
fmt . Imprimir ( 'Valor flotante aleatorio de 64 bits:' , rand . flotador64 ())
}

El siguiente resultado aparecerá después de ejecutar el script.

  p18

Ve arriba


dormir golang

La función time.Sleep() se utiliza en Golang para pausar la ejecución del script durante un período determinado. El siguiente script calculará el promedio de tres números y esperará 3 segundos antes de finalizar el script.

//Agregar paquete principal
paquete principal
//Importar paquetes requeridos
importar (
    'fmt'
    'tiempo'
)
función principal () {

fmt . Imprimir ( 'Empieza a ejecutar el script...' )
    //Definir tres variables
a := 40
b := 30
C := 29
    //Imprime las variables
fmt . Imprimir ( 'Tres números son: %d, %d, %d \norte ' , a , b , C )
fmt . Imprimir ( 'Calculando el promedio de tres números...' )
promedio := ( a + b + C ) / 3
    //Retraso de 3 segundos
tiempo . Dormir ( 3 * tiempo . Segundo )
    //Imprimir los resultados
fmt . Imprimir ( 'El valor promedio es %d \norte ' , promedio )
fmt . Imprimir ( 'Programa finalizado.' )
}

El siguiente resultado aparecerá después de ejecutar el script.

  p19

Ve arriba


tiempo dorado

El paquete de hora se utiliza en Golang para leer la fecha y hora actuales. Este paquete tiene muchos métodos y propiedades para leer la fecha y la hora de diferentes maneras. La fecha y hora, 'lunes 2 de enero 15:04:05 -0700 MST 2006', se utiliza como valor de referencia en Golang para acceder a la fecha y hora. Los usos del paquete de tiempo se muestran en el siguiente ejemplo.

paquete principal
//Importar paquetes requeridos
importar (
    'fmt'
    'tiempo'
)

función principal () {
  //Leer la fecha y hora actuales
hoy := tiempo . Ahora ()
  //Imprime la fecha actual
fmt . Imprimir ( 'Hoy es %s. \norte ' , hoy . Formato ( '02 de enero de 2006' ))
  //Imprime la fecha y hora actuales
fmt . Imprimir ( 'La fecha y hora actuales son %s \norte .' , hoy . Formato ( tiempo . RFC1123 ))
}

El siguiente resultado aparecerá después de ejecutar el script.

Ve arriba


golang uuido

El UUID o identificador único universal se puede generar mediante el script Golang. Es un valor único de 128 bits para identificar el sistema informático. Tienes que descargar el uuid del github.com/google/uuid antes de ejecutar el siguiente script.

Vaya al directorio de inicio y ejecute los siguientes comandos para descargar el paquete requerido para generar el uuid mediante el script Golang.

$ ir mod inicio uuid
$ ve a buscar github.com / Google / UUID

En el siguiente script, el primer uuid se genera utilizando la función uuid.New() que devuelve un identificador único. El segundo uuid es generado por la función uuid.NewUUID() que devuelve dos valores. El valor contiene el identificador único y el segundo valor contiene el mensaje de error si existe.

paquete principal
//Importar paquetes requeridos
importar (
    'fmt'
    'github.com/google/uuid'
)
función principal () {

    //Generar una identificación única usando la función New()
nuevoID := UUID . Nuevo ()
fmt . Imprimir ( 'El primer UUID generado es %s. \norte ' , nuevoID )

    //Generar una identificación única usando la función NewUUID()
nuevoID , errar := UUID . NuevoUUID ()
    //Comprueba si hay errores
    si errar == nulo {
fmt . Imprimir ( 'El segundo UUID generado es %s. \norte ' , nuevoID )
    } demás {
fmt . Imprimir ( errar )
    }
}

El siguiente resultado aparecerá después de ejecutar el script.

  p21

Ve arriba


Golang leer archivo

El io/ioutil El paquete de Golang se utiliza para leer el contenido de un archivo. La función ReadFile() de este paquete lee todo el contenido de un archivo. Esta función devuelve el contenido completo del archivo en una variable si el archivo existe; de ​​lo contrario, se devolverá un mensaje de error. La forma de leer el contenido completo de un archivo de texto existente se muestra en el siguiente script.

//Agregar paquete principal
paquete principal
//Importar paquetes requeridos
importar (
    'io/ioutil'
    'fmt'
    'registro'
)

función principal () {

    //Leer un archivo de texto
texto , errar := ioutil . Leer archivo ( 'Idiomas.txt' )
    //Comprueba si hay errores
    si errar == nulo {
fmt . Imprimir ( 'Contenido del archivo: \norte \norte ' )
fmt . Imprimir ( cadena ( texto ))
    } demás {
registro . fatal ( 'Error de lectura de archivo: %v' , errar )
    }

}

El siguiente resultado aparecerá después de ejecutar el script.

  p22

Ve arriba


Golang lee el archivo línea por línea

El paquete “bufio” de Golang se utiliza para leer el contenido de un archivo línea por línea. En el siguiente script, se ha utilizado bufio.NewScanner() para crear un objeto para leer el archivo. A continuación, se ha utilizado la función Scan() con el bucle para leer e imprimir cada línea del archivo.

//Agregar paquete principal
paquete principal
//Importar paquetes requeridos
importar (
    'fmt'
    'tú'
    'bufio'
)
función principal () {

    //Abrir un archivo de texto para leer
fh , errar := . Abierto ( 'Idiomas.txt' )
    //Comprueba si hay errores
    si errar == nulo {
        //Escanea el contenido del archivo
leer := bufio . Nuevo escáner ( fh )
        //Leer el archivo línea por línea
        para leer . Escanear () {
fmt . Imprimir ( leer . Texto ())
        }
    } demás {
fmt . Imprimir ( errar )
    }
    //Cerrar el archivo
    aplazar fh . Cerca ()
}

El siguiente resultado aparecerá después de ejecutar el script.

  p23

Ve arriba


Golang escribir en el archivo

El El paquete de Golang se utiliza para abrir un archivo para escribir y el escribircadena() La función se utiliza para escribir contenido en un archivo. La forma de crear y escribir un archivo de texto de tres líneas es mediante el uso del paquete.

paquete principal
//Importar paquetes requeridos
importar (
    'fmt'
    'tú'
)

función principal () {

    //Abrir un archivo para escribir
fh , err1 := . Crear ( 'elementos.txt' )
    //Comprueba si hay un error al crear el archivo
    si err1 == nulo {
          //Escribe en el archivo
         _ , err2 := fh . escribir cadena ( 'Bolígrafo \norte Lápiz \norte Gobernante \norte ' )
          //Comprueba si hay errores de escritura del archivo
          si err2 != nulo {
fmt . Imprimir ( 'Ocurrió un error al escribir el archivo. \norte ' )
          }
    } demás {
fmt . Imprimir ( 'Ocurrió un error al crear el archivo. \norte ' )
    }
    //Cerrar el archivo
    aplazar fh . Cerca ()
}

El siguiente resultado aparecerá después de ejecutar el script. El resultado muestra que el archivo items.txt se ha creado correctamente.

  p24

Ve arriba

 

Golang comprueba si el archivo existe

El El paquete de Golang se puede utilizar para comprobar la existencia del archivo. En el siguiente script, la ruta del archivo se tomará del script. Si la ruta no existe, la función os.State() devolverá un sistema operativo.ErrNotExist error.

paquete principal
//Importar módulo requerido
importar (
        'errores'
        'fmt'
        'tú'
)

función principal () {
      era ruta de archivo cadena
fmt . Imprimir ( 'Ingrese un nombre de archivo existente: ' )
      //Tomar la ruta del archivo del usuario
fmt . Escanear ( & ruta de archivo )
      //Comprueba la ruta del archivo
     _ , error := . estadística ( ruta de archivo )

      //Comprueba la salida de os.Stat
      si ! errores . Es ( error , . ErrNoExiste ) {
fmt . Imprimir ( 'Se encontró el archivo'. )
      } demás {
fmt . Imprimir ( 'El archivo no se encuentra.' )
      }
}

El siguiente resultado aparecerá después de ejecutar el script.

  p25

Ve arriba


Golán csv

El “codificación/csv” El paquete se utiliza en Golang para leer el contenido del archivo CSV. El csv.NewReader() La función se utiliza para leer el archivo CSV. Cree un archivo CSV antes de ejecutar el script de este ejemplo. Aquí el clientes.csv El archivo se ha utilizado para mostrar la forma de leer el archivo CSV.

paquete principal
//Importar paquetes requeridos
importar (
    'codificación/csv'
    'fmt'
    'tú'
)

función principal () {
    //Abrir un archivo CSV para leer
fh , errar := . Abierto ( 'clientes.csv' )
    //Comprueba el error
    si errar != nulo {
fmt . Imprimir ( errar )
    } demás {
          //Crea un objeto para leer el archivo CSV
escáner := csv . Nuevo lector ( fh )
          //Leer todos los registros del archivo CSV
registros , _ := escáner . Lee todo ()
          //Leer el archivo CSV línea por línea
          para _ , r := rango registros {
              para _ , C := rango r {
fmt . Imprimir ( '%s,' , C )
              }
fmt . Imprimir ()
        }
}
  //Cerrar el archivo
  aplazar fh . Cerca ()
}

El siguiente resultado aparecerá después de ejecutar el script.

  p26

Ve arriba


golang yaml

El yaml.mariscal() La función se utiliza en Golang para leer el contenido de los datos yaml. Tienes que descargar el yaml paquete para usar el yaml.mariscal() . Vaya al directorio de inicio y ejecute el siguiente comando para descargar el yaml paquete.

$ ir a buscar < a href = 'http://gopkg.in/yaml.v2' > gopkg.in / yaml.v2 a >

En el siguiente script se ha declarado una variable de estructura de cuatro elementos que se ha utilizado posteriormente para definir un objeto yaml con datos. A continuación, se utilizó la función yaml.Marshal() para acceder a los datos de yaml.

paquete principal
//Importar paquetes requeridos
importar (
    'fmt'
    'gopkg.in/yaml.v2'
)

//Declarar una estructura de 4 elementos
tipo Libro estructura {
Título cadena
Autor cadena
Publicación cadena
Precio cadena
}

función principal () {

    //Crea un objeto de la estructura.
Libro 1 := Libro {
Título : 'Aprendiendo a ir' ,
Autor : 'Juan Bodner' ,
Publicación : 'O'Relly' ,
Precio : '$39' ,
    }

    //Leer los datos yaml basados ​​en la estructura
    y_data , errar := yaml . marshall ( &Libro 1 )

    //Comprueba el error
    si errar == nulo {
        //Imprime los datos yaml
fmt . Imprimir ( cadena ( y_data ))
    } demás {
fmt . Imprimir ( 'Error al realizar la clasificación. %v' , errar )
    }
}

El siguiente resultado aparecerá después de ejecutar el script.

  p27

Ve arriba


Solicitud http de golang

El red/http El paquete de Golang se utiliza para enviar las solicitudes http a un sitio web. La función http.Get() se utiliza para enviar la solicitud. Devuelve la respuesta del sitio o el mensaje de error. La forma de enviar la solicitud http al sitio web, https://example.com se muestra en el siguiente guión.

paquete principal
//Importar paquetes requeridos
importar (
    'fmt'
    'red/http'
)

función principal () {
    //Enviar una solicitud GET a un sitio web
res , errar := http . Conseguir ( 'https://example.com' )
    //Comprueba si hay errores
    si errar == nulo {
      //Imprimir la respuesta enviada por el sitio web
fmt . Imprimir ( res )
    } demás {
      //Imprime el mensaje de error
fmt . Imprimir ( errar )
    }
}

El siguiente resultado aparecerá después de ejecutar el script.

  p28

Ve arriba


Argumentos de la línea de comando de Golang

Los valores que se pasan en el momento de la ejecución del script se denominan valores de argumentos de línea de comandos. El paquete os se utiliza para leer los valores de los argumentos de la línea de comando en Golang. Los valores de los argumentos se almacenan en la matriz Args[]. El bucle for con el rango se ha utilizado en el script para imprimir los valores de los argumentos sin el nombre del script en cada línea.

paquete principal
//Importa los paquetes requeridos
importar (
    'fmt'
    'tú'
)

función principal () {

fmt . Imprimir ( 'Todos los valores de los argumentos son:' )
    //Imprime todos los valores de los argumentos con el nombre del script
fmt . Imprimir ( . argumentos )

fmt . Imprimir ( 'Valores de argumento:' )
    //Imprime todos los valores de los argumentos sin un nombre de script
    para en , _ := rango . argumentos {
        si en == 0 {
            continuar
        }
fmt . Imprimir ( . argumentos [ en ])
    }
}

El siguiente resultado aparecerá después de ejecutar el script.

  p29

Ve arriba


Manejo de errores de Golang

Golang no tiene un bloque try-catch como otros lenguajes de programación. sin embargo, el errores El paquete se puede utilizar en Golang para manejar errores en el script. En el siguiente script, se tomará un número entero del usuario. Si el usuario toma un número negativo, se imprimirá un mensaje de error. El errors.New() La función se ha utilizado aquí para generar el mensaje de error.

paquete principal
//Importar paquetes requeridos
importar (
  'errores'
  'fmt'
)

función principal () {

  era norte En t
fmt . Imprimir ( 'Ingrese un numero: ' )
fmt . Escanear ( & norte )

  //Comprueba el valor de entrada
resultado , errar := Positivo ( norte )

  //Comprueba si hay errores
  si errar != nulo {
fmt . Imprimir ( errar )
  } demás {
fmt . Imprimir ( '%d %s \norte ' , norte , resultado )
  }
}

///Definir función para verificar el número positivo
función Positivo ( en uno En t ) ( cadena , error ) {
  si número < 0 {
    devolver '' , errores . Nuevo ( 'Escriba un número positivo'. )
  } demás {
      devolver 'el número es positivo.' , nulo
  }
}

El siguiente resultado aparecerá después de ejecutar el script.

  p30

Ve arriba

Conclusión:

Golang es un lenguaje de programación popular que tiene muchos paquetes útiles como el lenguaje de programación Python. Cualquier usuario novato puede aprender Golang como primer lenguaje de programación porque es muy fácil de aprender. Los 30 ejemplos básicos de Golang se explican en este tutorial para aprender Golang desde el principio y los alumnos podrán escribir programas en Golang. Una de las principales limitaciones de este lenguaje es que no contiene las características de la programación orientada a objetos, pero es bueno para aprender programación estructurada.