Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。前言scanner package 包含了 golang 詞法分析器相關的資料結構和方法,原始碼位於 <go-src>/src/go/scannerexample_test.goexample_test.go 包含了一個使用 scanner 包的樣本方法,該方法對 Euler 公式進行詞法掃描func ExampleScanner_Scan() { // src is the input that we
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。前言token package 包含了 golang 詞法分析相關的資料結構和方法,原始碼位於 <go-src>/src/go/tokentoken.go原始碼中的注釋很贊!Token typeToken is the set of lexical tokens of the Go programming languagetype Token inttokensThe list of tokens(token ids)
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go bytes包 bytes包基本方法的使用 package mainimport ("bytes")func writeUInt16(buff []byte, data uint16) {for i := 0; i < 2; i++ {buff[i] = byte(data >> uint(i*8))}}func spilt(r rune) bool {if r == 'c'
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。從一個有趣的項目來入門新的語言,再合適不過了。本人也是通過編寫一個可以聊天,可以設定備忘/定時提醒,可以搜尋美劇/電影資源等等功能的小機器人,迅速掌握了Go這門語言並喜歡上它。文末會給出小機器人源碼及文中執行個體代碼連結。1. 先定個小目標——從對話開始讓機器人“開口說話”是首要的,這裡先採用第三方服務提供的API,本地通過HTTP請求擷取回答並返回。此階段基本沒有痛點,以Go為例,關鍵區段數十行代碼解決://get reply
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang 對自訂類型排序在實際項目中,我們常常需要根據一個結構體類型的某個欄位進行排序。之前遇到這個問題不知道如何解決,後來在網上搜尋了相關問題,找到了一些好的解決方案,此處參考下,做個總結吧。由於 golang 的 sort 包本身就提供了相應的功能, 我們就沒必要重複的造個輪子了,來看看如何利用 sort 包來實現吧。sort包淺談sort 包
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。之前一直用vscode來寫Golang,直到有人向我推薦了IDEA,便折服於它的強大。在這裡分享一些IDEA的操作和技巧(只說Golang,但一些技巧對其他語言同樣有效)。Help -> Keymap Reference能夠開啟快速鍵映射的PDF檔案,方便我們查看 在類型、函數、變數上CTRL +
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Hello gRPC按照慣例,這裡從一個Hello項目開始,本項目定義了一個Hello Service,用戶端發送包含字串名字的請求,服務端返回Hello訊息。流程:編寫.proto描述檔案編譯產生.pb.go檔案服務端實現約定的介面並提供服務用戶端按照約定調用方法請求服務項目目錄:$GOPATH/src/grpc-go-practice/example/|—— hello/ |—— client/ |——
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。gRPC介紹與安裝A high performance, open source, general RPC framework that puts mobile and HTTP/2 first. ——gRPC WebsitegRPC 是一個高效能、開源、通用的RPC架構,由Google推出,基於HTTP/2協議標準設計開發,預設採用Protocol
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。開發規範版本控制git開發流程git
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。全文連結: https://github.com/json-iterator/go-benchmark目的不是推銷 json-iterator 。而是證明 json-iterator 不比其他的庫更慢,從而使得大家可以把吐槽點放到其他方面:比如特性是不是齊全, api 是不是友好。重新發明 json 解析器是因為經常需要處理奇怪格式的 json ,而又不想把資料轉兩遍。市面上沒有 api 滿足我的需求的,後面我會專門寫一篇
Time of Update: 2017-02-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。> 文章主要是參考**雨痕學堂(訂閱號)**及其他網友的部落格然後根據自己的理解整理而成。## string與[]byte相互轉換在寫程式的過程中經常遇到string與[]byte的相互轉換,但是這種轉換是有代價的,string與[]byte並不共用底層記憶體空間,所以每次轉換都伴隨著記憶體的分配與底層位元組的拷貝。我們可以藉助unsafe完成指標類型轉換,避開記憶體配置與複製,從而提升效能。**屬於黑魔法,盡量不要用。*
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。一、知名的Golang開源架構1. Beego: 一個國產的HTTP架構,我們可以用它快速開發各種應用程式。官網地址: http://beego.me2. Gogs: 一個國產的自主Git託管服務程式,我們可以用它來搭建自己的Git伺服器。官網地址:http://gogits.org3. Docker:
Time of Update: 2017-02-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。##channel的用法channel是golang中很重要的概念,配合goroutine是golang能夠方便實現並發編程的關鍵。channel其實就是傳統語言的阻塞訊息佇列,可以用來做不同goroutine之間的訊息傳遞,由於goroutine是輕量級的線程能夠在語言層面調度,所以channel在golang中也常被用來同步goroutine。一般channel的聲明形式為:var chanName chan
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。確切地說,Go語言也提供了繼承,但是採用了組合的文法,所以我們將其稱為匿名組合:type Base struct {聽聽聽聽Name string}func (base *Base) Foo() {...}func (base *Base) Bar() {...}type Foo struct {聽聽聽聽Base聽聽聽聽...}func (foo *Foo) Bar()
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。序:在Java語言中,存在兩套完全獨立的類型系統:一套是實值型別系統,主要是基本類型,如byte int boolean char
Time of Update: 2017-02-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Golang學習聽-聽unicode/utf16聽包----------------------------// IsSurrogate 判斷 r 是否為代理區字元// 兩個代理區字元可以用來組合成一個 utf16 編碼func聽IsSurrogate(r rune) bool// EncodeRune 將字元 r 編碼成 UTF-16 代理對// r:要編碼的字元// 如果 r < 0x10000 ,則無需編碼,其
Time of Update: 2017-02-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Mesos 按照官方的介紹,是分布式作業系統的核心。目標是 ”Program against your datacenter like it’s a single pool of
Time of Update: 2017-02-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。gojson是快速解析json資料的一個golang包,你使用它可以快速的尋找json內的資料安裝 go get github.com/widuu/gojson使用簡介結構type Js struct { data interface{}}(1) func Json(data) *Js data為string類型,初始化Js結構,解析json並且return Js.datajson := `{"from":&
Time of Update: 2017-02-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。本文從Maven談起,分析了Maven的主要思想以及Gradle對Maven的改進,最後談了下Go語言面臨的依賴管理問題。為什麼要有依賴管理工具?談依賴管理之前我們先談談為什麼要有依賴管理工具這東西。我們學了一種程式設計語言,然後寫了個『Hello
Time of Update: 2017-02-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。沒事用golang寫了個簡單的orm管理架構mysql的,當然簡單使用了一下,然後大家提交一下bug,然後我會持續更新和最佳化這個程式官方網站介紹gomysql是基於go-sql-driver基礎上開發的orm,這是一個輕量級的庫。它會使資料庫的增刪改查變得非常容易。當然也是測試開發版,會一直最佳化和更新!請時刻關注我們安裝go get github.com/go-sql-driver/mysqlgo get