1、服務(wù)器編程:以前你如果使用C或者C++做的那些事情,用Go來做很合適,例如處理日志、數(shù)據(jù)打包、虛擬機(jī)處理、文件系統(tǒng)等。
成都創(chuàng)新互聯(lián)技術(shù)團(tuán)隊(duì)10多年來致力于為客戶提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、品牌網(wǎng)站制作、全網(wǎng)整合營銷推廣、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗(yàn)豐富的技術(shù)團(tuán)隊(duì),先后服務(wù)、推廣了上千家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。
2、分布式系統(tǒng)、數(shù)據(jù)庫代理器、中間件:例如Etcd。
3、網(wǎng)絡(luò)編程:這一塊目前應(yīng)用最廣,包括Web應(yīng)用、API應(yīng)用、下載應(yīng)用,而且Go內(nèi)置的net/http包基本上把我們平常用到的網(wǎng)絡(luò)功能都實(shí)現(xiàn)了。
4、開發(fā)云平臺(tái):目前國外很多云平臺(tái)在采用Go開發(fā),我們所熟知的七牛云、華為云等等都有使用Go進(jìn)行開發(fā)并且開源的成型的產(chǎn)品。
5、區(qū)塊鏈:目前有一種說法,技術(shù)從業(yè)人員把Go語言稱作為區(qū)塊鏈行業(yè)的開發(fā)語言。如果大家學(xué)習(xí)區(qū)塊鏈技術(shù)的話,就會(huì)發(fā)現(xiàn)現(xiàn)在有很多很多的區(qū)塊鏈的系統(tǒng)和應(yīng)用都是采用Go進(jìn)行開發(fā)的,比如ehtereum是目前知名度最大的公鏈,再比如fabric是目前最知名的聯(lián)盟鏈,兩者都有g(shù)o語言的版本,且go-ehtereum還是以太坊官方推薦的版本。
自1.0版發(fā)布以來,go語言引起了眾多開發(fā)者的關(guān)注,并得到了廣泛的應(yīng)用。go語言簡單、高效、并發(fā)的特點(diǎn)吸引了許多傳統(tǒng)的語言開發(fā)人員,其數(shù)量也在不斷增加。
使用 Go 語言開發(fā)的開源項(xiàng)目非常多。早期的 Go 語言開源項(xiàng)目只是通過 Go 語言與傳統(tǒng)項(xiàng)目進(jìn)行C語言庫綁定實(shí)現(xiàn),例如 Qt、Sqlite 等。
后期的很多項(xiàng)目都使用 Go 語言進(jìn)行重新原生實(shí)現(xiàn),這個(gè)過程相對(duì)于其他語言要簡單一些,這也促成了大量使用 Go 語言原生開發(fā)項(xiàng)目的出現(xiàn)。
go 可以開發(fā)桌面應(yīng)用,但并不是很舒適。
可以使用的GUI庫有:
1、goqt,LiteIDE作者出品,Go和QT的綁定,還未發(fā)布
2、go.uik,純Go實(shí)現(xiàn)的并發(fā)UI工具
3、walk,Windows Application Library Kit
4、gform,Windows GUI framework
目前的話walk用得比較多
不過go的GUI庫用起來沒有C#、C/C++的那么順手。
這個(gè)問題不久之后應(yīng)該會(huì)有所改善,畢竟用Go開發(fā)桌面的需求在不斷增加。
目前我采用的是用go http 做后端,Webkit+HTML5 做界面,表現(xiàn)力很好,前端不需要學(xué)習(xí)新知識(shí),一般的管理類應(yīng)用都能搞定。
第一種:LiteIDE
LiteIDE是一個(gè)簡單的開源IDE,值得注意的是,它是GO語言2012年正式版發(fā)布的首個(gè)IDE,由Qt開發(fā),它看起來類似于Visual Studio等其他編譯器。
由于它是為golang設(shè)計(jì)的,LiteIDE為開發(fā)人員提供了許多有用的功能,包括可配置的構(gòu)建命令,高級(jí)代碼編輯器和廣泛的golang支持。其他功能包括代碼管理、gdb、Delve調(diào)試器、自動(dòng)完成和使用WordApi的主題,基于MIME類型的系統(tǒng)等。
第二種:VS Code
它是微軟開發(fā)的廣受歡迎的開源IDE,有一個(gè)開箱即用的go擴(kuò)展可供VS Code使用。VS Code插件為開發(fā)人員提供了很多功能,包括與許多go工具集成。
VS Code通過IntelliSense,內(nèi)置git集成,直接從編譯器調(diào)試代碼等功能提供智能完成功能;VS Code具有高度可擴(kuò)展性,并通過其許多擴(kuò)展提供了許多自定義選項(xiàng),還提供了幾十種語言的支持,成為受開發(fā)者歡迎的工具。
第三種:Atom
開發(fā)人員可以利用這個(gè)Atom IDE改進(jìn)的語言集成與更智能的編輯器。開源的go-plus軟件包使開發(fā)人員更容易在GO中進(jìn)行編程。
Atom和go-plus軟件包為golang提供工具,構(gòu)建流程,linters、vet和coverage工具的支持;其他功能包括自動(dòng)完成、格式化、測試和文檔。
第四種:Vim
Vim有許多插件可以幫助開發(fā)人員更輕松地編輯他們的GO代碼;Vim-go插件自動(dòng)安裝所有必要的東西,為Vim中的GO開發(fā)人員提供更平滑的集成。
Vim-go具有許多有用的功能,包括編譯器,改進(jìn)的語法高亮和折疊,完成支持以及一系列具有集成支持的調(diào)試程序。還有一些使用的高級(jí)源分析工具,包括GoImplements、GoCallees和GoReferrers。
如何Golang開發(fā)Android應(yīng)用:
一丶準(zhǔn)備
1.一臺(tái)Linux 64的機(jī)器
2.一個(gè)帶有AndroidStudioIDE的開發(fā)機(jī)器
因?yàn)榄h(huán)境配置實(shí)在復(fù)雜,所以引入的docker。
docker pull codeskyblue/docker-goandroid
docker run --rm -ti codeskyblue/docker-goandroid bash
cd example; echo "view example projects
docker起來之后,什么就都配置好了,NDK,java,GO的環(huán)境變量了,等等,并且還預(yù)裝了vim,gradle,tmux,git,syncthing,svn
二丶代碼
1.寫代碼之前,先約定下目錄結(jié)構(gòu)
go的代碼都放在src/golib下,編譯使用make.bash編譯腳本,看下這個(gè)文件樹
.
|-- app.iml
|-- build.gradle
|-- libs/armeabi-v7a # go編譯生成的so文件
| ? ? ? ? ? ? ? `-- libgojni.so
|-- main.go_tmpl # 一個(gè)模板文件,先不用管它
|-- make.bash # 編譯腳本,用來生成.so和Java代碼
`-- src
|-- golib
| ? |-- hi
| ? | ? |-- go_hi#1438;#1438;#1438; # 自動(dòng)生成的代碼
| ? | ? | ? `-- go_hi.go
| ? | ? `-- hi.go # 需要編寫的代碼
| ? `-- main.go
`-- main
? ?|-- AndroidManifest.xml
? ?|-- java
? ?| ? |-- go # 自動(dòng)生成的代碼
? ?| ? | ? |-- Go.java
? ?| ? | ? |-- Seq.java
? ?| ? | ? `-- hi
? ?| ? | ? ? ? `-- Hi.java
? ?| ? `-- me/shengxiang/gohello # 主要的邏輯代碼
? ?| ? ? ? ? ? ? ? ? ? ? ?`-- MainActivity.java#1438;#1438;#1438;
? ?`-- res
2.寫了一個(gè)例子
git clone
3.編譯下,試試行不行(就算不行問題應(yīng)該也不大,因?yàn)榇髥栴}都被消滅了)
cd GoHello/app
./make.bash
../gradlew build
4.一切順利的話在build/outputs/apk下應(yīng)該可以看到app-debug.apk這個(gè)文件。
編譯好的放到qiniu上了,可以點(diǎn)擊下載看看
下面可以嘗試改改
打開hi.go這個(gè)文件
hi.go的內(nèi)容,比較簡單,寫Go代碼主要就是這部分
// Package hi provides a function for saying hello.
package hi
import "fmt"
func Hello(name string) {
fmt.Printf("Hello, %s!\n", name)
return "(Go)World"
}
5.文件末尾添加下面這行代碼
func Welcome(name string) string {
return fmt.Sprintf("Welcome %s to the go world", name)
}
使用./make.bash重新編譯下
6.打開MainActivity.java?修改下OnClickListener事件
button.setOnClickListener(new View.OnClickListener() {
? ?@Override
? ?public void onClick(View v) {
? ? ? ?String message = Hi.Welcome("yourname");
? ? ? ?Toast.makeText(MainActivity.this, message, Toast.LENGTH_LONG).show();
? ?}
});
編譯運(yùn)行下,把生成的apk安裝到手機(jī)上試試。
分享名稱:go語言開發(fā)小軟件 go語言開發(fā)小軟件是什么
文章地址:http://jinyejixie.com/article0/dodheoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、網(wǎng)站設(shè)計(jì)公司、定制網(wǎng)站、外貿(mào)建站、域名注冊(cè)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)