真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

go語言圖形界面庫 golang界面庫

Go 語言實現(xiàn)的帥帥的 Git 終端 UI:lazygit

先給出項目地址:

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:主機域名、虛擬空間、營銷軟件、網站建設、大洼網站維護、網站推廣。

lazygit 是一個用于 Git 命令行的簡單終端 UI,使用 Go 語言編寫,用到了 gocui 庫,目的是在命令行提供 Git 的圖形界面。lazygit 讓你有一種源自 Sourcetree 的感覺,但是在以終端為中心的環(huán)境中。Lazygit 快速且易于使用,你只需在 git 存儲庫中的終端中調用 lazygit 即可。lazygit 可以在Linux、macOS、FreeBSD和Windows上運行。

還記得咱們之前推薦的 Go 語言實現(xiàn)的帥帥的 Docker 終端 UI:lazydocker嗎?這是同一個作者哦,lazygit 的 star 數(shù)達到 12.5k+。

看下作者錄制的視頻:

是不是挺棒的!

可以直接在這里下載二進制文件 ,或者按照如下方式安裝,比如 Mac 下通過 Homebrew 安裝

沖突解決

Interactive Rebasing

趕緊試試吧~

想學編程不知道從哪里開始??

Rust|教您玩轉rust編程視頻教程|電子書? ?,免費下載

鏈接: ?

提取碼: up8s

Rust是一門系統(tǒng)編程語言?[1]??,專注于安全?[2]??,尤其是并發(fā)安全,支持函數(shù)式和命令式以及泛型等編程范式的多范式語言。Rust在語法上和C++類似?[3]??,但是設計者想要在保證性能的同時提供更好的內存安全。 Rust最初是由Mozilla研究院的Graydon Hoare設計創(chuàng)造,然后在Dave Herman, Brendan Eich以及很多其他人的貢獻下逐步完善的。?[4]??Rust的設計者們通過在研發(fā)Servo網站瀏覽器布局引擎過程中積累的經驗優(yōu)化了Rust語言和Rust編譯器。

go語言支持開發(fā)桌面級應用嗎?

go 可以開發(fā)桌面應用,但并不是很舒適。

可以使用的GUI庫有:

1、goqt,LiteIDE作者出品,Go和QT的綁定,還未發(fā)布

2、go.uik,純Go實現(xiàn)的并發(fā)UI工具

3、walk,Windows Application Library Kit

4、gform,Windows GUI framework

目前的話walk用得比較多

不過go的GUI庫用起來沒有C#、C/C++的那么順手。

這個問題不久之后應該會有所改善,畢竟用Go開發(fā)桌面的需求在不斷增加。

目前我采用的是用go http 做后端,Webkit+HTML5 做界面,表現(xiàn)力很好,前端不需要學習新知識,一般的管理類應用都能搞定。

go 語言寫web誰能教教我嗎??

語言只是工具而已,有的適合做哪一方面。 一般來說高級語言除了寫底層的東西,什么都能做。 go語言聽說過但不了解 我想應該像python ruby一樣吧 拿python來說,可以寫web,可以寫socket,數(shù)據(jù)庫,game,圖形界面,你去看看他能做什么在右邊..

Go語言命令行利器cobra使用教程

cobra是一個提供簡單接口來創(chuàng)建強大的現(xiàn)代CLI界面的庫類似git git tools,cobra也是一個應用程序,它會生成你的應用程序的腳手架來快速開發(fā)基于cobra的應用程序

cobra提供:

cobra建立在命令、參數(shù)、標志的結構之上

commands代表動作,args是事物,flags是動作的修飾符

最好的應用程序在使用時讀起來就像句子,因此,用戶直觀地知道如何與它們交互

模式如下:APPNAME VERB NOUN --ADJECTIVE. or APPNAME COMMAND ARG --FLAG(APPNAME 動詞 名詞 形容詞 或者 APPNAME 命令 參數(shù) 標志)

一些真實世界的好例子可以更好地說明這一點

kubectl 命令更能體現(xiàn)APPNAME 動詞 名詞 形容詞

如下的例子,server 是command,port是flag

這個命令中,我們告訴git 克隆url

命令是應用程序的中心點,應用程序支持的每一個交互都包含在一個命令中,命令可以有子命令,也可以運行操作

在上面的例子中,server是命令

更多關于cobra.Command

flag是一種修改命令行為的方式,cobra支持完全兼容POSIX標志,也支持go flag package,cobra可以定義到子命令上的標志,也可以僅對該命令可用的標志

在上面的命令中,port是標志

標志的功能由 pflag library 提供,pflag library是flag標準庫的一個分支,在添加POSIX兼容性的同時維護相同的接口。

使用cobra很簡單,首先,使用go get按照最新版本的庫,這個命令會安裝cobra可執(zhí)行程序以及庫和依賴項

下一步,引入cobra到應用程序中

雖然歡迎您提供自己的組織,但通常基于Cobra的應用程序將遵循以下組織結構:

在Cobra應用程序中,main.go文件通常非常簡單。它有一個目的:初始化Cobra。

使用cobra生成器

cobra提供了程序用來創(chuàng)建你的應用程序然后添加你想添加的命令,這是將cobra引入應用程序最簡單的方式

這兒 你可以發(fā)現(xiàn)關于cobra的更多信息

要手動實現(xiàn)cobra,需要創(chuàng)建一個main.go 和rootCmd文件,可以根據(jù)需要提供其他命令

Cobra不需要任何特殊的構造器。只需創(chuàng)建命令。

理想情況下,您可以將其放在app/cmd/root.go中:

在init()函數(shù)中定義標志和處理配置

例子如下,cmd/root.go:

創(chuàng)建main.go

使用root命令,您需要讓主函數(shù)執(zhí)行它。為清楚起見,Execute應該在根目錄下運行,盡管它可以在任何命令上調用。

在Cobra應用程序中,main.go文件通常非常簡單。它有一個目的:初始化Cobra。

可以定義其他命令,通常每個命令在cmd/目錄中都有自己的文件。

如果要創(chuàng)建版本命令,可以創(chuàng)建cmd/version.go并用以下內容填充它:

如果希望將錯誤返回給命令的調用者,可以使用RunE。

然后可以在execute函數(shù)調用中捕獲錯誤。

標志提供修飾符來控制操作命令的操作方式。

由于標志是在不同的位置定義和使用的,因此我們需要在外部定義一個具有正確作用域的變量來分配要使用的標志。

有兩種不同的方法來分配標志。

標志可以是“持久”的,這意味著該標志將可用于分配給它的命令以及該命令下的每個命令。對于全局標志,在根上指定一個標志作為持久標志。

也可以在本地分配一個標志,該標志只應用于該特定命令。

默認情況下,Cobra只解析目標命令上的本地標志,而忽略父命令上的任何本地標志。通過啟用Command.TraverseChildren,Cobra將在執(zhí)行目標命令之前解析每個命令上的本地標志。

使用viper綁定標志

在本例中,持久標志author與viper綁定。注意:當用戶未提供--author標志時,變量author將不會設置為config中的值。

更多關于 viper的文檔

Flags默認是可選的,如果希望命令在未設置標志時報告錯誤,請根據(jù)需要進行標記:

持久性Flags

可以使用命令的Args字段指定位置參數(shù)的驗證。

內置了以下驗證器:

在下面的示例中,我們定義了三個命令。兩個是頂級命令,一個(cmdTimes)是頂級命令之一的子命令。在這種情況下,根是不可執(zhí)行的,這意味著需要一個子命令。這是通過不為“rootCmd”提供“Run”來實現(xiàn)的。

我們只為一個命令定義了一個標志。

有關標志的更多文檔,請訪問

對于一個更完整的例子更大的應用程序,請檢查 Hugo 。

當您有子命令時,Cobra會自動將help命令添加到應用程序中。當用戶運行“應用程序幫助”時,將調用此函數(shù)。此外,help還支持所有其他命令作為輸入。例如,您有一個名為“create”的命令,沒有任何附加配置;調用“app help create”時,Cobra將起作用。每個命令都會自動添加“-help”標志。

以下輸出由Cobra自動生成。除了命令和標志定義之外,不需要任何東西。

幫助就像其他命令一樣。它周圍沒有特殊的邏輯或行為。事實上,你可以提供你想提供的。

您可以為默認命令提供自己的幫助命令或模板,以用于以下功能:

當用戶提供無效的標志或無效的命令時,Cobra通過向用戶顯示“用法”來響應。

你可以從上面的幫助中認識到這一點。這是因為默認幫助將用法作為其輸出的一部分嵌入。

您可以提供自己的使用函數(shù)或模板供Cobra使用。與幫助一樣,函數(shù)和模板也可以通過公共方法重寫:

如果在root命令上設置了version字段,Cobra會添加一個頂級的'--version'標志。運行帶有“-version”標志的應用程序將使用版本模板將版本打印到標準輸出。可以使用cmd.SetVersionTemplate(s string)函數(shù)自定義模板。

可以在命令的主運行函數(shù)之前或之后運行函數(shù)。PersistentPreRun和PreRun函數(shù)將在運行之前執(zhí)行。PersistentPostRun和PostRun將在運行后執(zhí)行。如果子函數(shù)不聲明自己的函數(shù),則它們將繼承Persistent*Run函數(shù)。這些函數(shù)按以下順序運行:

輸出:

當發(fā)生“未知命令”錯誤時,Cobra將打印自動建議。這使得Cobra在發(fā)生拼寫錯誤時的行為類似于git命令。例如:

基于注冊的每個子命令和Levenshtein距離的實現(xiàn),建議是自動的。匹配最小距離2(忽略大小寫)的每個已注冊命令都將顯示為建議。

如果需要在命令中禁用建議或調整字符串距離,請使用:

or

您還可以使用SuggestFor屬性顯式設置將為其建議給定命令的名稱。這允許對在字符串距離方面不接近的字符串提供建議,但在您的一組命令中是有意義的,并且對于某些您不需要別名的字符串。例子:

Cobra可以基于子命令、標志等生成文檔。請在 docs generation文檔 中閱讀更多關于它的信息。

Cobra可以為以下shell生成shell完成文件:bash、zsh、fish、PowerShell。如果您在命令中添加更多信息,這些補全功能將非常強大和靈活。在 Shell Completions 中閱讀更多關于它的信息。

Cobra is released under the Apache 2.0 license. See LICENSE.txt


標題名稱:go語言圖形界面庫 golang界面庫
網站網址:http://weahome.cn/article/doccese.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部