重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
Go語言將支持Android
八公山網站制作公司哪家好,找創新互聯建站!從網頁設計、網站建設、微信開發、APP開發、成都響應式網站建設公司等網站項目制作,到程序開發,運營維護。創新互聯建站成立與2013年到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創新互聯建站。
概述
我們建議將Go語言引入Android平臺,重點是用Go語言編寫游戲程序,API將在Android
NDK中定義。
背景
Android平臺被設定為一個多應用操作系統,一個相對于傳統UNIX系統來說更依賴于網絡庫和服務的操作系統,這意味著我們將為Go運行時開放更多的API。
將Golang帶入Android平臺是一件非常糟糕的事情,因為Android本身是Java構建的并且擁有巨量的API,任何試圖將這些API用Go替代的結果將會導致一個非常糟糕的結果。無論是手工建立包裝類還是自動建立都會導致程序運行非常緩慢。
然而如果使用基于C的API,通過AndroidNDK來編寫一些游戲類程序可能會帶來意想不到的收獲。
提議
在Golang
1.4周期中,Android平臺的編譯將納入Go的源,并且包含Android支持的cgo(由Elias
Naur貢獻)。Dalvik-loadable
.so外部連接文件的支持也會由Android
NDK提供。
在發布上我們仍然提供交叉平臺編譯,并且支持在Linux主機上adb工具在Android設備上測試程序。
我們將會提供一個名叫go.mobile的子版本,包含:
1、通過Android
NDK對OpenGL,OpenSL和OpenMAX的支持。
2、一個Java-Go的工具,支持通過Java調用Go的Package,所以許多游戲的菜單UI可以通過標準SDK構建。(有可能會支持通過其他語言調用Go,比如Objective-C。)
3、集成AndroidStudio
新特性將會在Go1.4穩定版中提供。
Go語言由Google公司開發,并于2009年開源,相比Java/Python/C等語言,Go尤其擅長并發編程,性能堪比C語言,開發效率肩比Python,被譽為“21世紀的C語言”。
Go語言在云計算、大數據、微服務、高并發領域應用應用非常廣泛。BAT大廠正在把Go作為新項目開發的首選語言。
Go語言能干什么?
1、服務端開發:以前你使用C或者C++做的那些事情,用Go來做很合適,例如日志處理、文件系統、監控系統等;
2、DevOps:運維生態中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go語言開發;
3、網絡編程:大量優秀的Web框架如Echo、Gin、Iris、beego等,而且Go內置的 net/http包十分的優秀;
4、Paas云平臺領域:Kubernetes和Docker Swarm等;
5、分布式存儲領域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等;
6、區塊鏈領域:區塊鏈里面有兩個明星項目以太坊和fabric都使用Go語言;
7、容器虛擬化:大名鼎鼎的Docker就是使用Go語言實現的;
8、爬蟲及大數據:Go語言天生支持并發,所以十分適合編寫分布式爬蟲及大數據處理。
很多朋友可能知道Go語言的優勢在哪,卻不知道Go語言適合用于哪些地方。
1、 Go語言作為服務器編程語言,很適合處理日志、數據打包、虛擬機處理、文件系統、分布式系統、數據庫代理等;網絡編程方面。Go語言廣泛應用于Web應用、API應用、下載應用等;除此之外,Go語言還可用于內存數據庫和云平臺領域,目前國外很多云平臺都是采用Go開發。
2、 其實Go語言主要用作服務器端開發。其定位是用來開發"大型軟件"的,適合于很多程序員一起開發大型軟件,并且開發周期長,支持云計算的網絡服務。Go語言能夠讓程序員快速開發,并且在軟件不斷的增長過程中,它能讓程序員更容易地進行維護和修改。它融合了傳統編譯型語言的高效性和腳本語言的易用性和富于表達性。
3、 Go語言成功案例。Nsq:Nsq是由Go語言開發的高性能、高可用消息隊列系統,性能非常高,每天能處理數十億條的消息;
4、 Docker:基于lxc的一個虛擬打包工具,能夠實現PAAS平臺的組建。
5、 Packer:用來生成不同平臺的鏡像文件,例如VM、vbox、AWS等,作者是vagrant的作者
6、 Skynet:分布式調度框架。
7、 Doozer:分布式同步工具,類似ZooKeeper。
8、 Heka:mazila開源的日志處理系統。
9、 Cbfs:couchbase開源的分布式文件系統。
10、 Tsuru:開源的PAAS平臺,和SAE實現的功能一模一樣。
11、 Groupcache:memcahe作者寫的用于Google下載系統的緩存系統。
12、 God:類似redis的緩存系統,但是支持分布式和擴展性。
13、 Gor:網絡流量抓包和重放工具。
以上的就是關于go語言能做什么的內容介紹了。
Go 語言被設計成一門應用于搭載 Web 服務器,存儲集群或類似用途的巨型中央服務器的系統編程語言。對于高性能分布式系統領域而言,Go 語言無疑比大多數其它語言有著更高的開發效率。學習Go語言,可以說是很簡單的,入門快,想學習Go語言,可以到黑馬程序員看看,有新出的教程。