Time of Update: 2018-08-20
翻譯的系列文章我已經放到了 GitHub 上:blockchain-tutorial,後續如有更新都會在 GitHub 上,可能就不在這裡同步了。如果想直接運行代碼,也可以 clone GitHub 上的教程倉庫,進入 src 目錄執行 make 即可。 引言
Time of Update: 2018-08-20
一、strings和strconv的使用 strings strings.HasPrefix(s string,preffix string) bool:判斷字串s是否以prefix開頭 stirngs.HasSuffix(s string,suffix string) bool:判斷字串s是否以suffix結尾 strings.Index(s string,str string) int:判斷str在s中首次出現的位置,如果沒有出現,則返回-1
Time of Update: 2018-08-20
Ethereum是2.0版區塊鏈的主流應用,它將區塊鏈從電子貨幣(digital cash)中延伸出來,作為一個分散式資料庫使用,成為共識系統中的基礎支撐。Ethereum引入了“智能合約”的概念,使得基於Ethereum的區塊鏈能夠構建多樣化的去中心化應用。 基本環境 作業系統 Ubuntu16.04 LTS Ethereum版本 go-ethereum 1.5.4 編譯後用戶端程式 Geth,命令列程式。 PPA安裝方法
Time of Update: 2018-08-22
似乎,某共用單車創始人的預言,在2017年的這個寒冬演變成現實。只不過,這場“淘汰賽”似乎來得有點太快,太猛了,而且一輪接著一輪,誰都不敢出手相救,誰也沒法挽救;而我們正如看客一般,目睹著整個死亡事件的發生,從誕生,到生病,到無藥可醫,再到瀕臨死亡。所謂“共用經濟”泡沫破碎的背後,究竟是誰出了問題。 近日,小藍單車倒了,創始人逃了,員工們哭了,使用者們怒了,我們自己究竟怎麼了。 1、 越來越多的跡象表明,酷騎單車將是下一個“小藍”。
Time of Update: 2018-08-23
傳統Go構建以及包依賴管理Go在構建設計方面深受Google內部開發實踐的影響,比如go get的設計就深受 Google內部單一代碼倉庫(single monorepo)和基於主幹(trunk/mainline based)的開發模型 的影響:只擷取Trunk/mainline代碼和版本無感知image.png我們知道go get擷取的代碼會放在GOROOT/src下面,而go build會在GOROOT/src和GOPATH/src下面按照import
Time of Update: 2018-08-23
熟悉golang的人都知道,golang交叉編譯很簡單的,只要設定幾個環境變數就可以了# mac上編譯linux和windows二進位CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build # linux上編譯mac和windows二進位CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build CGO_ENABLED=0
Time of Update: 2018-08-22
golang環境安裝brew install golang保險起見可以先brew updateIDE安裝可以直接使用sublime、webstrom、eclipse等,在這裡我使用的是VSCodesublime: 沒辦法跑測試eclipse: 翻牆下載go外掛程式好坑~~Delve調試環境安裝brew install go-delve/delve/delve檢查是否安裝成功dlv version,提示不存在該命令錯誤提示解決辦法cd
Time of Update: 2018-08-22
一個為Go語言量身定做、超級好用的支付SDK。GitHub地址:wxpay支付開發文檔API對支付開發人員文檔中給出的API進行了封裝。wxpay提供了對應的方法:| 方法名 | 說明 || ---------------- | ----------- || MicroPay | 刷卡支付 || UnifiedOrder | 統一下單 || OrderQuery | 查詢訂單 ||
Time of Update: 2018-08-21
“區塊鏈是一門集合密碼學、共識演算法、智能合約、超級賬本等多門技術的複雜性綜合學科。”尹正表示,區塊鏈培訓機構的師資品質及其對區塊鏈行業的認知水平參差不齊,普通消費者也無從考究。 Go語言主要用作伺服器端開發,其定位是用來開發“大型軟體”的,適合於很多程式員一起開發大型軟體,並且開發週期長,支援雲端運算的網路服務。Go語言能夠讓程式員快速開發,並且在軟體不斷的增長過程中,它能讓程式員更容易地進行維護和修改。它融合了傳統編譯型語言的高效性和指令碼語言的易用性和富於表達性。網路通訊協定裡面,很
Time of Update: 2018-08-21
“區塊鏈是一門集合密碼學、共識演算法、智能合約、超級賬本等多門技術的複雜性綜合學科。”尹正表示,區塊鏈培訓機構的師資品質及其對區塊鏈行業的認知水平參差不齊,普通消費者也無從考究。 Go語言主要用作伺服器端開發,其定位是用來開發“大型軟體”的,適合於很多程式員一起開發大型軟體,並且開發週期長,支援雲端運算的網路服務。Go語言能夠讓程式員快速開發,並且在軟體不斷的增長過程中,它能讓程式員更容易地進行維護和修改。它融合了傳統編譯型語言的高效性和指令碼語言的易用性和富於表達性。寫go語言並發需要注
Time of Update: 2018-08-20
兄弟連教育建議,使用者在考慮培訓周期時要切實結合自身目前所掌握的區塊鏈知識的多少、培訓的目的是簡單的認知提升還是藉此高薪就業等等。兄弟連Go全棧與區塊鏈培訓課程設定為5個半月共計22周的學習時間長度,由淺入深進行講解,助力於小白使用者向區塊鏈工程師的轉型。 課程體系設計架構包括了區塊鏈的基礎語言Go語言、區塊鏈後端技術體系、區塊鏈公鏈、區塊鏈分布式應用開發等內容講解,以及到最後的面試指導和項目實戰。課程由清華微軟Google名師團隊精心打造,曆時半年時間共同研發而出。在golang中, 有
Time of Update: 2018-08-24
您可能想知道——特別是如果您剛開始使用 Go,該如何給您的微服務應用添加監控。正如那些有追蹤記錄的人告訴您——監控是很困難的。那麼我要告訴您的是至少基本的監控不是那樣的。您不需要為您的簡單應用啟動一個 [Prometheus](https://prometheus.io/) 叢集去獲得報告,事實上,您甚至不需要額外的服務去添加一個您的應用統計的簡單輸出。但是我們的應用程式的哪些特性是我們感興趣的呢?這個 Go 的 [runtime](https://golang.org/pkg/runtime/
Time of Update: 2018-08-20
# wxpay for golang註:本人照著支付官方 SDK Java 版,用 Go 語言實現的一個支付 SDK,與 Java 版功能一致,具備輕量易上手,且功能齊全的特點,理論上效能也會比 Java 版的更快。Github地址:[wxpay](https://github.com/objcoding/wxpay)##
Time of Update: 2018-08-20
這個項目需要用到動態連結程式庫技術, 主程式動態載入一些功能模組,這樣在擴充功能時,無須修改主程式,只需要新增功能模組動態調用就可以了。 研究了一下golang官方支援的plugin功能,發現有幾點不足。 1.官方plugin功能本質上是用cgo實現的,編譯一個so檔案,然後再調用 2. 只支援linux, 不支援windows 3. plugin模組panic時, 主程式也會panic, 無法做到隔離。
Time of Update: 2018-08-19
前言class和interface在進階語言中是很重要的概念。class是對模型的定義和封裝,interface則是對行為的抽象和封裝。Go語言雖然沒有class,但是有struct和interface,以另一種方式實現同樣的效果。本文將談一談Go語言這與別不同的interface的基本概念和一些需要注意的地方。聲明interfacetype Birds interface { Twitter() string Fly(high int)
Time of Update: 2018-08-24
前幾天在微博上看到有人推薦了lazygit這個工具,讓人眼前一亮,什麼時候命令列也可以這麼搶到了,,調研了下,發現它使用了gocui,使用它可以做出來很多很炫的命令列工具。現有的hosts工具裡面也有switchosts!,但我是用的時候發現他還是有bug,也只能用在介面化平台。想了下,準備著手搞一個命令列的hsots組態工具,這個類庫完全可以滿足。介面設計在介面設計上,還是做個copycat,抄襲switchosts!的,分兩欄,左側是hosts分組,右邊兒是當前聚焦hosts分組內容,控制開
Time of Update: 2018-08-23
控制並發有兩種經典的方式,一種是WaitGroup,另外一種就是Context,今天我就談談Context。什麼是WaitGroupWaitGroup以前我們在並發的時候介紹過,它是一種控制並發的方式,它的這種方式是控制多個goroutine同時完成。func main() { var wg sync.WaitGroup wg.Add(2) go func() { time.Sleep(2*time.Second) fmt.Println("
Time of Update: 2018-08-18
調用其init函數,而不能調用其內部方法在Golang裡,import的作用是匯入其他package,但是今天在看beego架構時看到了import 底線,不知其意,故百度而解之。 import 底線(如:import _ hello/imp)的作用:當匯入一個包時,該包下的檔案裡所有init()函數都會被執行,然而,有些時候我們並不需要把整個包都匯入進來,僅僅是是希望它執行init()函數而已。這個時候就可以使用 import _ 引用該包。即使用【import _ 包路徑】只是引用該包,
Time of Update: 2018-08-18
本篇文章轉載自 http://www.cnblogs.com/qing123/articles/4353353.html?hmsr=studygolang.com&utm_medium=studygolang.com&utm_source=studygolang.comgolang 的fmt 包實現了格式化I/O函數,類似於C的 printf 和 scanf。# 定義樣本類型和變數type Human struct { Name string}var people =
Time of Update: 2018-08-23
1、將結構體轉換成json需要用到marshl函數(或者marshlIndent()函數)。區別:marshl函數沒有將json格式化輸出,輸出是一個json的字串。----不利於直接查看json的結構。maeshldent函數可以將json格式化輸出,可閱讀性提高了。2、將json字串轉換成結構體需要用到marshl()函數。執行個體如下:```gopackage mainimport ( "log" "encoding/json" "