Time of Update: 2017-08-12
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 不同進程間的記憶體是互相獨立的,沒辦法直接互相操作對方內的資料,而共用記憶體則是靠作業系統提供的記憶體映射機制,讓不同進程的一塊地址空間映射到同一個虛擬記憶體地區上,使不同的進程可以操作到一塊共用的記憶體塊。共用記憶體是效率最高的進程間通訊機制,因為資料不需要在核心和程式之間複製。
Time of Update: 2017-07-26
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go語言的select和poll有點類似,監聽多個channel,當channel上可讀時,執行對應的操作。基本用法:ch1 := make(chan bool)ch2 := make(chan bool).....for { select { case <-ch1: case <-ch2: default:
Time of Update: 2017-07-26
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。walk的git地址:https://github.com/lxn/walk walk的說明文檔:https://godoc.org/github.com/lxn/walk go的git上面給出了實現一個簡單的gui的例子。這裡需要注意幾點: 1、使用go
Time of Update: 2017-07-26
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Golang字串格式化package mainimport "fmt"type point struct { x, y int}func main() { // 格式化整型,使用`%d`是一種 // 標準的以十進位來輸出整型的方式 // 有符號十進位整數(int)(%ld、%Ld:長整型資料(long),%hd:輸出短整形。)
Time of Update: 2017-07-25
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。本篇通過實現一個自訂的棧,來學習Go語言的自訂類型及其方法首先棧的概念不用多說,它是一種支援從頂端插入或刪除的線性表,廢話少說上代碼。在GOPATH下建立stack目錄,棧的所有實現在stack.go檔案之中。首先需要一個能夠儲存資料的結構體type Stack []interfice
Time of Update: 2017-07-25
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。**1.Go包的下載與安裝**我這裡下載是Mac-pkg包,安裝按順序即可[Golang官網下載所需的作業系統和版本包](https://golang.org/dl/)**2.Go的環境變數配置**開啟終端輸入cd ~ 進入使用者主目錄,之後輸入ls -a查看是否存在.bash_profile檔案,存在既使用vi .bash_profile開啟並編輯該檔案。根據自己情況,內容如下:export
Time of Update: 2017-07-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 golang沒有類似C中的try catch finlly,但是提供了defer revover panicdefer“延遲” 函數調用返回之前按照先進先出的順序進行調用defer中的函數。使用規則:1.defer函數中的參數值再定義時即進行計算。func a() { i := 0 defer fmt.Println(i) i++ return}先進後出原則func b() { for i := 0; i < 4
Time of Update: 2017-07-25
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。首先去官網https://golang.org/dl/ 下載安裝包,我是安裝在windows下面的。所以下載了go1.8.3.windows-amd64.msi 。下載完事之後直接安裝,沒毛病,正常情況下環境變數自動給你搭建好了。圖片.png在cmd中輸入go version 會顯示目前的版本。開始Hello World,建立一個檔案test.go package main import "fmt" func
Time of Update: 2017-07-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Revel架構安裝官網:http://revel.github.io/tutorial/index.html中文社區:http://www.gorevel.cn/一、安裝Revel架構 下載Revel架構源碼,將其源碼放入%GOPATH%src/github.com/revel/revel目錄下,然後在%GOPATH%src目錄下進行編譯操作: 編譯:go
Time of Update: 2017-07-24
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1. 編譯安裝protobuf(protobuf 沒有關於go的release) 為了從源碼安裝protobuf,先要安裝一些工具:包括autoconf、automake、libtool、curl(用於下載gmock)、make、 g++、 unzip。 在ubuntu可以使用如下命令安裝這些依賴: sudo apt-get install autoconf automake libtool curl make
Time of Update: 2017-07-23
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang實現多生產者多消費者:package mainimport ( "fmt" "time")func consumer(cname string, ch chan int) { for i := range ch { fmt.Println("consumer--", cname, ":", i) }
Time of Update: 2017-07-07
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1、cron 運算式的基本格式用過 linux 的應該對 cron 有所瞭解。linux 中可以通過 crontab -e 來配置定時任務。不過,linux 中的 cron 只能精確到分鐘。而我們這裡要討論的 Go 實現的 cron 可以精確到秒,除了這點比較大的區別外,cron 運算式的基本文法是類似的。(如果使用過 Java 中的 Quartz,對 cron 運算式應該比較瞭解,而且它和這裡我們將要討論的 Go 版 cron
Time of Update: 2017-08-15
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。github 地址 https://github.com/nosixtools/solarlunarGO實現了陽曆和陰曆的相互轉化,支援1900年到2049年。支援節假日的計算分享給你們轉化例子package main import ("github.com/nosixtools/solarlunar" "fmt")func main() {solarDate := "1990-05-06&
Time of Update: 2017-08-02
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。導讀:機器學習和深度學習是近年技術的熱點,面對眾多的Machine Learning Platform for AI如何進行選擇,這是一個很困擾的問題。本文對分布式機器學習(ML)平台中使用的設計方法進行了調查,並提出了未來的研究方向。本文比較了Machine Learning Platform for AI設計方法和使用指南,是我和 Kuo Zhang 和 Salem Alqahtani 同學合作而成。 我們在 2016
Time of Update: 2017-08-14
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。題目Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1, b1), (a2, b2), …, (an, bn) which makes sum of min(ai, bi) for all i from 1 to n as large as possible.題目大意:
Time of Update: 2017-07-11
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。藉助移動端的增長,如今 RESTful 風格的 API 已經十分流行, 用各種語言去寫後端 API 都有很成熟方便的方案,用 golang 寫後端 API 更是生產力的代表, 你可以用不輸 python/ruby 這類動態語言的速度,寫出效能高出一兩個數量級的後端 API 。ECHO 架構由於 golang 的標準庫在網路方面已經很完善,導致架構發揮餘地不大。很多高手都說,
Time of Update: 2017-06-24
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。大家好,我是來自 PaddlePaddle 開源社區的李釗(@livc),目前是一名大三學生。我曾經在手機百度實習,參與推薦演算法和反作弊的研發工作,目前是 IDL 的一名實習生。很開心作為 Paddle Tutorials 系列的作者之一參加 GitChat 的分享。在 Paddle 深度學習系列 Chat
Time of Update: 2017-06-23
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。背景超級賬本(Hyperledger)是linux基金會下的眾多項目中的一個。是由IBM、因特爾,還有金融公司,GP摩根以及其他聯合機構於2015年提出來的區塊鏈項目,超級賬本還包括4個架構項目:Sawtooth、Iroha、Fabric、Burrow。其中廣為人知的是Fabric。當前成員大約140個,其中1/4來自中國,現在中國技術組由萬達、華為、IBM擔任主要負責,負責中國會員和中國需求的提供,以及推進代碼。超級賬本是什嗎?
Time of Update: 2017-07-01
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。利用先進的技術搭建一個Go Web開發環境 1.安裝Go語言 在此不做過多介紹,只需執行以下命令 brew install go 2.配置GOPATH 在/etc/profile中添加以下配置 export GOPATH="/usr/local/Cellar/go/1.5.1/" export PATH="/usr/local/Cellar/go/1.5.1/bin:$PATH" 其中/usr/
Time of Update: 2017-06-25
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。swarmctl實質上是通過controlClient向swarm cluster發命令。controlClient定義在api/control.pb.go:// Client API for Control servicetype ControlClient interface { GetNode(ctx context.Context, in *GetNodeRequest, opts