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
- hola hola mundo
- variables de cadena de golang
- Golang int a cadena
- Cadena de Golang hacia adentro t
- Concatenación de cadenas de Golang
- Cadena multilínea de Golang
- Cuerda dividida de Golang
- sprint de golang
- enumeración de golang
- estructura de golang
- conjunto del Golán
- conjuntos de golang
- Golang para bucle
- Golang para el alcance
- Golang mientras bucle
- golang continuar
- Caja del interruptor Golang
- número aleatorio de golang
- dormir golang
- tiempo dorado
- golang uuido
- Golang leer archivo
- Golang lee el archivo línea por línea
- Golang escribir en el archivo
- Golang comprueba si el archivo existe
- Golán csv
- golang yaml
- Solicitud http de golang
- Argumentos de la línea de comando de Golang
- 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.goEjecute 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 1El siguiente resultado aparecerá después de ejecutar los comandos anteriores,
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í.
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 principalpaquete 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”.
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 principalpaquete 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í.
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 principalpaquete 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.
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í.
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 (:).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 principalpaquete 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.
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 principalpaquete 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.
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.
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.
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 principalpaquete 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.
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 principalpaquete principal
//Importar paquetes requeridos
importar (
'fmt'
'tú'
'bufio'
)
función principal () {
//Abrir un archivo de texto para leer
fh , errar := tú . 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.
Golang escribir en el archivo
El tú 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 tú paquete.
paquete principal//Importar paquetes requeridos
importar (
'fmt'
'tú'
)
función principal () {
//Abrir un archivo para escribir
fh , err1 := tú . 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.
Golang comprueba si el archivo existe
El tú 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 := tú . estadística ( ruta de archivo )
//Comprueba la salida de os.Stat
si ! errores . Es ( error , tú . 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.
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 := tú . 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.
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.
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.
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 ( tú . argumentos )
fmt . Imprimir ( 'Valores de argumento:' )
//Imprime todos los valores de los argumentos sin un nombre de script
para en , _ := rango tú . argumentos {
si en == 0 {
continuar
}
fmt . Imprimir ( tú . argumentos [ en ])
}
}
El siguiente resultado aparecerá después de ejecutar el script.
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.
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.