Para fins reutilizáveis, o pacote é um bom começo para gerenciar seus códigos Go porque podemos importá-los e usá-los em nosso programa.
Vamos criar um arquivo principal simples para começar
package main import "fmt" func main() { fmt.Println("hello world!") }
É um programa simples de hello world que imprimiu a string hello world quando executamos go run main.go .
Agora vamos iniciar um pacote criando o módulo primeiro. Geralmente ele usa um repositório git, mesmo que não tenhamos planos de enviá-lo para nenhum repositório por aí. Neste exemplo, usarei meu próprio repositório Github e usarei o nome do pacote mygopackageas.
git mod init github.com/didikz/mygopackage
Depois crio um subdiretório, por exemplo eu uso models e crio um user.go dentro dele. A estrutura deve ficar assim
Dentro de user.go eu simplesmente criaria uma estrutura e um receptor que poderia ser importado posteriormente em main.go . Também defini o nome do pacote seguindo o nome do diretório atual como models
package models type User struct { Id int FirstName string LastName string Address string } func (user *User) GetName() string { return user.FirstName " " user.LastName }
Volte para main.go e agora podemos tentar importar o pacote e usar a estrutura definida. Use o nome do módulo iniciado anteriormente junto com o nome do pacote.
import "github.com/didikz/mygopackage/models"
Agora, para usar o modelo de usuário do pacote, podemos escrever assim
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())
Tudo pronto. A seguir, se executarmos go run main.go, ele deverá imprimir Didik Tri Susanto
Fácil, certo?
O arquivo main.go final agora deve ser assim
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()) }
É isso e boa codificação!
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3