코브라 CLI 없음 GO
소개
다른 노드는 npm e já tem a parte de scripts no
package.json
에서 CLI do npm e já tem a parte de scripts와 함께 시작합니다. Os projetos em GO precisam de algum adaptador de CLI externa para escrever scripts, hoje aprendi como usar a Cobra CLI para issoComo 사용자 또는 Cobra
Cobra CLI에 정밀하게 설치하기
go get -u github.com/spf13/cobra@latest && \
go install github.com/spf13/cobra-cli@latest
아고라 로단도
cobra-cli init
ele vai gerar um arquivo
main.go
e uma pasta cmd com um arquivoroot.go
onde ele configura algumas coisas. Nesse arquivo root podemos fazer alguma inicializações também, por exemplo no meu caso de estudo inicializei o banco de dados no root.go![](https://s1.md5.ltd/image/1a1f420ffde317cb9f9ef958134091b7.png)
Para criar o nosso proprio comando precisamos rodar o
cobra-cli add NOME-DO-COMANDO
e então o cobra vai gerar um novo arquivo com o nome do comando que foi passado a pra ele
![](https://s1.md5.ltd/image/5fc88b7f7ae38c21d113570c425b6c59.png)
Nesse exemplo da imagem coloquei como nome como
cli
e ele gera o arquivo com essas informações de descrição basicamente que podem ser alteradas a vontade go run main.go NOME-DO-COMANDO
Vai rodar o comando que acabamos de criar, nesse caso ele vai apenas exibir
NOME-DO-COMANDO called
pois ainda não estamos fazendo nada no arquivo gerado. Então nesse arquivo preciso declarar as variáveis que minha função precisa.![](https://s1.md5.ltd/image/7a2dec87346dbedc2a12f57fade18935.png)
Na função gerada init eu crio as flags que meu comando pode receber e associo cada valor da flag a cada variável, então por exemplo, se eu rodar o comando
go run main.go cli -action=create -product=Produto -price=25.0
EU estou atribuindo o valor para as variáveis action, productName e productPrice e a partir dai posso fazer o que quiser com eles, nesse caso passo para a função Run para que ela crie um novo produto
Reference
이 문제에 관하여(코브라 CLI 없음 GO), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/yanpiing/cobra-cli-no-go-44nl텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)