Для многократного использования пакет — хорошее начало для управления вашими кодами Go, поскольку мы можем импортировать и использовать его в нашей программе.
Давайте для начала создадим простой основной файл
package main import "fmt" func main() { fmt.Println("hello world!") }
Это простая программа hello world, которая распечатывает строку hello world, когда мы запускаем go run main.go .
Теперь давайте сначала запустим пакет, создав модуль. Обычно он использует репозиторий git, даже если мы не планируем помещать его в какой-либо другой репозиторий. В этом примере я буду использовать свой собственный репозиторий Github и имя пакета mygopackageas.
git mod init github.com/didikz/mygopackage
Затем создайте подкаталог, например, я использую модели, и внутри него создайте user.go. Структура должна выглядеть так
Внутри user.go я бы просто создал структуру и приемник, которые можно было бы позже импортировать в main.go. Я также установил имя пакета после имени текущего каталога как модели
package models type User struct { Id int FirstName string LastName string Address string } func (user *User) GetName() string { return user.FirstName " " user.LastName }
Вернитесь в main.go, и теперь мы можем попытаться импортировать пакет и использовать определенную структуру. Используйте имя модуля, инициированное ранее, вместе с именем пакета.
import "github.com/didikz/mygopackage/models"
Теперь, чтобы использовать модель пользователя из пакета, мы можем написать вот так
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())
Все готово. Далее, если мы запустим go run main.go, то должен быть напечатан Didik Tri Susanto
Легко, правда?
Окончательный файл main.go теперь должен выглядеть вот так
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()) }
Все, удачного программирования!
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3