Para fines reutilizables, el paquete es un buen comienzo para administrar sus códigos Go porque podemos importarlo y usarlo en nuestro programa.
Creemos un archivo principal simple para comenzar
package main import "fmt" func main() { fmt.Println("hello world!") }
Es un programa simple de hola mundo que imprime la cadena de hola mundo cuando ejecutamos go run main.go.
Ahora iniciemos un paquete creando el módulo primero. Por lo general, se utiliza un repositorio de git, incluso si no tenemos planes de enviarlo a ningún repositorio disponible. En este ejemplo usaré mi propio repositorio de Github y usaré el nombre del paquete mygopackage.
git mod init github.com/didikz/mygopackage
Luego cree un subdirectorio, por ejemplo, uso modelos y creo un usuario.go dentro de él. La estructura debería verse así
Dentro de user.go, simplemente crearía una estructura y un receptor que podría importarse más adelante en main.go. También configuro el nombre del paquete siguiendo el nombre del directorio actual como modelos
package models type User struct { Id int FirstName string LastName string Address string } func (user *User) GetName() string { return user.FirstName " " user.LastName }
Vuelva a main.go y ahora podemos intentar importar el paquete y usar la estructura definida. Utilice el nombre del módulo iniciado anteriormente junto con el nombre del paquete.
import "github.com/didikz/mygopackage/models"
Ahora para usar el modelo de usuario del paquete podemos escribir así
var user models.User user.Id = 1 user.FirstName = "Didik" user.LastName = "Tri Susanto" user.Address = "Malang" // or alternatively user := models.User{Id: 1, FirstName: "Didik", LastName: "Tri Susanto", Address: "Malang"} fmt.Println(user.GetName())
Listo. A continuación, si ejecutamos go run main.go, debería imprimirse Didik Tri Susanto
Fácil, ¿verdad?
El archivo main.go final ahora debería ser así
package main import ( "fmt" "github.com/didikz/mygopackage/models" ) func main() { user := models.User{Id: 1, FirstName: "Didik", LastName: "Tri Susanto", Address: "Malang"} fmt.Println(user.GetName()) }
¡Eso es todo y feliz codificación!
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3