tgoop.com/golang_lib/460
Create:
Last Update:
Last Update:
💡 Структура CLI-приложения на Go
Когда мы пишем CLI на Go, важно грамотно организовать структуру проекта. Вот распространённый и удобный шаблон:
my-cli/
├── cmd/
│ ├── root.go
│ └── greet.go
├── internal/
│ └── greet/
│ └── greet.go
├── main.go
├── go.mod
📌 Основные моменты:
-
main.go
— точка входа. Здесь мы вызываем cmd.Execute()
.- Папка
cmd/
содержит все команды CLI. Например, greet.go
реализует команду greet
, а root.go
— основную/root-команду.- В
internal/greet/greet.go
размещаем бизнес-логику, отделяя её от логики CLI. Это улучшает читаемость, покрытие тестами и повторное использование кода.📁 Пример содержимого
cmd/greet.go
:
var greetCmd = &cobra.Command{
Use: "greet",
Short: "Выводит приветствие",
Run: func(cmd *cobra.Command, args []string) {
greet.SayHello()
},
}
А в
internal/greet/greet.go
:
func SayHello() {
fmt.Println("Привет от Go CLI!")
}
📦 Такой подход делает CLI-приложение масштабируемым и удобным для поддержки. Особенно если вы планируете добавлять новые команды или делегировать разработку другим.
https://www.bytesizego.com/blog/structure-go-cli-app
👉 @golang_lib
BY Библиотека Go (Golang) разработчика
Share with your friend now:
tgoop.com/golang_lib/460