¿Cómo asignar valores predeterminados para campos de estructura en Golang?

Como Asignar Valores Predeterminados Para Campos De Estructura En Golang



Golang es un lenguaje de programación moderno que ha ganado popularidad en los últimos años. Una de las características poderosas de Golang es su capacidad para definir y manipular estructuras. estructuras son tipos de datos definidos por el usuario que permiten a los desarrolladores agrupar campos de datos relacionados en un solo objeto. en ir, estructuras puede tener valores predeterminados asignados a sus campos, lo que hace que inicializarlos sea mucho más fácil.

En este ensayo, exploraremos cómo asignar un valor por defecto para un campo de estructura en Golang.

¿Qué son los campos de estructura?

En primer lugar, es fundamental entender el concepto de campos de estructura . El campos de estructura Son variables que se agrupan para formar un estructura objeto. Cada campo de estructura tiene un nombre y un tipo de datos. Por ejemplo, una estructura que representa a una persona puede tener campos como nombre, edad y sexo.







¿Cómo asignar valores predeterminados para campos de estructura en Golang?

Valores predeterminados se puede asignar para campos de estructura en Go usando:



  • Valores cero predeterminados
  • Constructores
  • Literales de estructura
  • Valores de campo predeterminados

1: valores cero predeterminados

En Go, la asignación de valores predeterminados a los campos de estructura se puede lograr con el ' valor cero ' característica. Esta función asigna automáticamente un valor predeterminado de “ 0 ' o ' FALSO ” a cada campo no inicializado, según el tipo de datos. Esto significa que no tiene que establecer explícitamente valores predeterminados para cada campo en la estructura, ya que Go lo hará por usted.



Esta función puede resultar útil cuando se trata de estructuras grandes con muchos campos, ya que ahorra el tiempo y el esfuerzo de establecer manualmente los valores predeterminados para cada campo.





Aquí hay un ejemplo que usa el valor cero para asignar valores predeterminados para los campos de estructura:

paquete principal

importar 'fmt'

tipo Estructura de persona {
Nombre   cadena
Edad    int
Altura float64
EsMale bool
}

función principal ( ) {
p1 := Persona { Nombre: 'John' , Edad: 30 }
fmt.Println ( p1.Name )
fmt.Println ( p1.Edad )
fmt.Println ( p1.Altura )
fmt.Println ( p1.IsMale )
}

El código anterior define una Persona estructura con cuatro campos: Nombre, Edad, Altura e IsMale, todos los cuales son del tipo de datos bool. Luego, creamos una nueva instancia de la clase Person, p1, e inicializamos algunos de sus campos usando literales de estructura para especificar los nombres y valores de los campos. El valores cero por defecto para los campos que no se establecieron explícitamente durante la inicialización se muestran cuando imprime los valores de los campos usando fmt.Println .



Producción

2: Constructores

escribiendo un constructor función para la estructura, también puede dar valores predeterminados a los campos de estructura en Golang. El constructor La función crea una nueva instancia de la estructura y establece los valores predeterminados para sus campos. Este método ahorra esfuerzo y tiempo, especialmente cuando se interactúa con estructuras enormes con numerosos campos.

Aquí hay un ejemplo de cómo definir un constructor función con valores de campo predeterminados para una estructura:

paquete principal

importar 'fmt'

tipo Estructura de persona {
Nombre    cadena
Edad     int
Cadena de dirección
}
func Nueva Persona ( ) * Persona {
    devolver & Persona {
Nombre: 'Juan Doe' ,
Edad: 30 ,
DIRECCIÓN: 'Calle principal 123' ,
    }
}
función principal ( ) {
p := NuevaPersona ( )
fmt.Println ( p.Nombre, p.Edad, p.Dirección )
}

En el código anterior, un Persona se define la estructura, así como la persona nueva() función, que produce una nueva instancia de la Persona estructura con valores predeterminados predeterminados. Llamamos persona nueva() en principal() para crear una nueva instancia de Persona con valores de campo predeterminados , y luego imprimimos los valores de los campos de esa instancia.

Producción

3: Literales de estructura

En Golang, puede establecer valores predeterminados para los campos de estructura usando literales de estructura también. Simplemente construya una nueva instancia de la estructura y establezca los valores para cada campo que debe inicializarse. Si desea establecer valores predeterminados para campos que no inicializa explícitamente, puede utilizar la función de valor cero.

Aquí hay un ejemplo de cómo usar literales de estructura para establecer valores de campo predeterminados para una estructura:

paquete principal

importar 'fmt'

tipo Estructura de persona {
Nombre    cadena
Edad     int
Cadena de dirección
}
función principal ( ) {
p := persona {
Nombre: 'Juan Doe' ,
Edad: 30 ,
    }
fmt.Println ( p.Nombre, p.Edad, p.Dirección )
}

En el código anterior, definimos un Persona struct en este ejemplo y cree una nueva instancia usando un literal de estructura y valores predeterminados para sus campos. un nuevo Persona la instancia se crea en main() con algunos valores de campo completados y otros dejados en blanco. Desde el DIRECCIÓN no se inicializa, recibe la cadena vacía que es el valor predeterminado para este campo. Finalmente, imprimimos los valores de campo de la instancia de Persona.

Producción

4: Valores de campo predeterminados

Asignación valores predeterminados a campos de estructura en Go es un proceso sencillo. El valor por defecto para un campo de estructura se puede configurar usando la sintaxis nombre de campo: valor predeterminado . Por ejemplo, considere la siguiente definición de estructura:

tipo Estructura de persona {
Cadena de nombre
edad interna
Cadena de género
}

Asignar valores predeterminados a los campos de esta estructura, podemos usar la siguiente sintaxis:

p := persona {
Nombre: 'Juan Doe' ,
Edad: 30 ,
Género: 'Masculino' ,
}

En el ejemplo anterior, hemos asignado valores predeterminados a los campos de la estructura Person. Si omitimos cualquiera de los valores durante la inicialización, el valor por defecto se utilizará en su lugar. Por ejemplo, si inicializamos un objeto Person como este:

p := persona {
Nombre: 'Fulano de tal' ,
}

El objeto Persona resultante tendrá el valores predeterminados para los campos Edad y Género, que son 0 y una cadena vacía, respectivamente.

Aquí hay un código completo que ilustra el proceso anterior:

paquete principal
importar 'fmt'

tipo Estructura de persona {
Nombre   cadena
Edad    int
Cadena de género
}
función principal ( ) {
p1 := Persona {
Nombre: 'Juan Doe' ,
Edad: 30 ,
Género: 'Masculino' ,
    }
fmt.Println ( p1 )

p2 := Persona {
Nombre: 'Jeremy' ,
    }
fmt.Println ( p2 )
}

En el ejemplo anterior, construimos una estructura Person que tiene tres campos: Name, un int que representa la edad, y Gender, una cadena que representa el género. La sintaxis de inicialización de estructura se usa luego para construir dos instancias de Persona, p1 y p2. p1 se inicializa con los valores 'John Doe' para Nombre, '30' para Edad y 'Masculino' para Género, que son todos valores que se han proporcionado expresamente. Como no proporcionamos valores para Edad y Sexo, se les asignarán los valores predeterminados de 0 y una cadena vacía, respectivamente. p2 se inicializa inicialmente con solo el campo Nombre proporcionado.

Producción

Conclusión

Asignación valores predeterminados en Go es un aspecto esencial de la programación con este lenguaje. Ayuda a garantizar que cada instancia de estructura creada tenga datos predeterminados asignados. Mediante el uso de cualquiera de los métodos explicados anteriormente, los desarrolladores pueden configurar el valores predeterminados de los campos de estructura de manera eficiente.