Telegram Group & Telegram Channel
💡 Структура 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



tg-me.com/golang_lib/460
Create:
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) разработчика


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/golang_lib/460

View MORE
Open in Telegram


Библиотека Go Golang разработчика Telegram | DID YOU KNOW?

Date: |

Mr. Durov launched Telegram in late 2013 with his brother, Nikolai, just months before he was pushed out of VK, the Russian social-media platform he founded. Mr. Durov pitched his new app—funded with the proceeds from the VK sale—less as a business than as a way for people to send messages while avoiding government surveillance and censorship.

Telegram announces Search Filters

With the help of the Search Filters option, users can now filter search results by type. They can do that by using the new tabs: Media, Links, Files and others. Searches can be done based on the particular time period like by typing in the date or even “Yesterday”. If users type in the name of a person, group, channel or bot, an extra filter will be applied to the searches.

Библиотека Go Golang разработчика from nl


Telegram Библиотека Go (Golang) разработчика
FROM USA