GO語言由Google公司開發(fā),并于2009年開源,對比Java、Python、C等語言,GO尤其擅長并發(fā)編程,性能堪比C語言,開發(fā)效率比肩Python,被譽(yù)為21世紀(jì)的C語言。GO語言在云計(jì)算、大數(shù)據(jù)、微服務(wù)、高并發(fā)領(lǐng)域,應(yīng)用非常廣泛。BAT大廠正在把GO作為新項(xiàng)目開發(fā)的首選語言。
在融水等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需策劃設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)整合營銷推廣,成都外貿(mào)網(wǎng)站制作,融水網(wǎng)站建設(shè)費(fèi)用合理。
Go 語言是一個試圖結(jié)合動態(tài)類型和靜態(tài)類型,編譯效率和安全性以及語言的易用性等眾多特性與一體的一種嘗試。他的另一個目標(biāo)是支持現(xiàn)代的基于網(wǎng)絡(luò)的、基于多核的計(jì)算。最后,Go 還是非??斓模梢栽趩蝹€計(jì)算機(jī)上僅僅花費(fèi)幾秒時間構(gòu)建一個龐大的應(yīng)用程序。使用GO語言開發(fā)android語言步驟如下:
1. 下載安裝Go語言(版本1.5+)
Golang鏈接
回到頂部
2. 下載安裝 gomobile
下載
$ go get golang.org/x/mobile/cmd/gomobile
安裝(需要等待幾分鐘)
gomobile init
回到頂部
3. Golang開發(fā)手機(jī)應(yīng)用有兩種方式
a. 原生應(yīng)用開發(fā)
$ go get -d golang.org/x/mobile/example/basic
主要應(yīng)用領(lǐng)域:
應(yīng)用控制管理與配置
OpenGL ES 2 綁定
Asset 管理
Event 管理
試驗(yàn)中的包,含有OpenAL 綁定、音頻、字體、圖形以及運(yùn)動傳感器
Android開發(fā)
$ gomobile build -target=android golang.org/x/mobile/example/basic
此命令會生成名為basic的apk安裝包
$ gomobile install golang.org/x/mobile/example/basic
此命令將安裝apk包到已連接的android設(shè)備
在Go語言的代碼中,您需要引入官方的SDK庫 aliyun/serverless/fc-runtime-go-sdk/fc,并實(shí)現(xiàn)handler函數(shù)和main函數(shù)。 示例如下:
傳入的event參數(shù)是一個包含key屬性的JSON字符串,示例如下。
具體的示例解析如下:
有效的Event Handler簽名如下:
其中,InputType和OutputType與encoding/json標(biāo)準(zhǔn)庫兼容。
Event Handler的使用需遵循以下規(guī)則:
事件函數(shù)的Handler示例代碼:
本項(xiàng)目用于移動端的數(shù)據(jù)統(tǒng)計(jì),項(xiàng)目地址: 。開源的數(shù)據(jù)統(tǒng)計(jì)countly做的很好,但是基礎(chǔ)免費(fèi)版的功能實(shí)在不夠看,因此我就決定用go語言來寫了這個項(xiàng)目,一來可以在實(shí)踐中學(xué)習(xí)go語言,二來也可以開發(fā)功能完整的開源平臺。該項(xiàng)目正在開發(fā)中,歡迎有興趣的gopher一起參與。
數(shù)據(jù)存儲方面使用的是mongodb。由于數(shù)據(jù)統(tǒng)計(jì)業(yè)務(wù)幾乎不涉及到事務(wù)以及嚴(yán)格的一致性場景,而且mongodb的自動分片功能可以支撐較大的數(shù)據(jù)量。使用大數(shù)據(jù)的存儲組件的話就太過于重了。因此選用mongodb。
業(yè)務(wù)邏輯整體基于事件的發(fā)布訂閱。當(dāng)收到客戶端請求, frontend 會對請求數(shù)據(jù)進(jìn)行處理,然后發(fā)布響應(yīng)的事件。 backend 收到事件后進(jìn)行統(tǒng)計(jì)處理。
后臺展示基于Vue-Admin-Template開發(fā),本人前端能力基本就是依葫蘆畫瓢,希望有前端大神來開發(fā)后臺頁面,項(xiàng)目地址:
目前客戶端API僅有2個。一個是上報(bào) openApp 打開APP時間,一個是上報(bào) usageTime 一次啟動使用時長事件。SDK方面也需要移動端的大神開發(fā),感興趣的大佬可以一起開發(fā)。
下面放一點(diǎn)后臺頁面的效果圖:
GoAnalytics是基于go實(shí)現(xiàn)的一個數(shù)據(jù)統(tǒng)計(jì)平臺,用于統(tǒng)計(jì)移動端的數(shù)據(jù)指標(biāo),比如啟動次數(shù)、用戶增長、活躍用戶、留存等指標(biāo)分析。前端數(shù)據(jù)展示項(xiàng)目是 goanalytics-web 。目前正在積極開發(fā)中,歡迎提交新的需求和pull request。
Go版本需要支持module,本地開發(fā)測試
cmd/goanalytics_kafka 和 goanalytics_rmq 是分別基于 kafka 和 rocketmq 的發(fā)布訂閱功能做的數(shù)據(jù)發(fā)布
和訂閱處理,橫向擴(kuò)展能力比 local 高。另外由于 rocketmq 還沒有原生基于 go 的客戶端(原生客戶端正在開發(fā)中
2.0.0 road map ),可能會存在問題。
項(xiàng)目結(jié)構(gòu)
├── README.md
├── api
│ ├── authentication 用戶認(rèn)證、管理API
│ ├── middlewares GIN 中間件
│ └── router API route
├── cmd
│ ├── account 生成admin賬號命令
│ ├── analytic_local 不依賴消息系統(tǒng)的goanalytics
│ ├── goanalytics_kafka 基于kafak的goanalytics
│ ├── goanalytics_rmq 基于rocketmq的goanalytics
│ └── test_data 生成測試數(shù)據(jù)命令
├── common
│ └── data.go
├── conf 配置
│ └── conf.go
├── event
│ ├── codec 數(shù)據(jù)編解碼
│ └── pubsub 消息發(fā)布訂閱
├── go.mod
├── go.sum
├── metric 所有的統(tǒng)計(jì)指標(biāo)在這里實(shí)現(xiàn)
│ ├── init.go
│ └── user 用戶相關(guān)指標(biāo)的實(shí)現(xiàn)
├── schedule
│ └── schedule.go 定時任務(wù)調(diào)度
├── storage 存儲模塊
│ ├── counter.go 計(jì)數(shù)器接口
│ ├── data.go
│ └── mongodb 基于mongodb實(shí)現(xiàn)的存儲及計(jì)數(shù)器
└── utils
├── date.go
├── date_test.go
├── errors.go
└── key.go
網(wǎng)站欄目:go語言event,go語言為什么突然火了
轉(zhuǎn)載注明:http://chinadenli.net/article0/dsshgoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、定制開發(fā)、網(wǎng)站設(shè)計(jì)公司、營銷型網(wǎng)站建設(shè)、、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)