GO語(yǔ)言由Google公司開(kāi)發(fā),并于2009年開(kāi)源,對(duì)比Java、Python、C等語(yǔ)言,GO尤其擅長(zhǎng)并發(fā)編程,性能堪比C語(yǔ)言,開(kāi)發(fā)效率比肩Python,被譽(yù)為21世紀(jì)的C語(yǔ)言。GO語(yǔ)言在云計(jì)算、大數(shù)據(jù)、微服務(wù)、高并發(fā)領(lǐng)域,應(yīng)用非常廣泛。BAT大廠正在把GO作為新項(xiàng)目開(kāi)發(fā)的首選語(yǔ)言。

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