Time of Update: 2017-08-13
標籤:一個 改變 nbsp 將不 使用 pytho 參數 delete 元素 li = [1,2,3,4,5,6]# 1.使用del刪除對應下標的元素del li[2]# li = [1,2,4
Time of Update: 2017-08-13
標籤:set 多繼承 inf jdk 參考資料 case des 一個 變數 DK1.5引入了新的類型——枚舉。在 Java 中它雖然算個&ldquo
Time of Update: 2017-08-10
標籤:聲明 初始化 min port color 運行 報錯 變數 print package mainimport ("fmt""math")func main() {// 1.
Time of Update: 2017-08-13
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。翻譯原文連結 轉帖/轉載請註明出處英文原文連結 發表於2014/06/07函數調用不是免費的一個函數調用有三個步驟。建立一個新的堆棧框(stack
Time of Update: 2017-08-13
這是一個建立於
Time of Update: 2017-08-13
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。GopherCon2017 中的一個視頻講解了如何用golang實現一個簡單的strace,本文是基於此演講整理而來。什麼是系統調用先看下wiki的定義:In computing, a system call is the programmatic way in which a computer program requests a service from the kernel of the operating system
Time of Update: 2017-08-11
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。裝完mongodb之後,就是為了學習一下 mgo包的使用貼一下學習的代碼package mainimport ( "fmt" "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson" "log" "time")type Person struct { Name string
Time of Update: 2017-08-11
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go基礎學習第一天一.關鍵詞break default func interface selectcase defer go map structchan else goto package switchconst fallthrough if range
Time of Update: 2017-08-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。最近需要實現一個自增序列的增長功能,原來的做法是從資料庫中實現自增長就可以了,可是最近用的sequel pro死活找不到從指定值開始自增長的設定,只能自己通過代碼尋找資料庫最後一項然後加一,這樣每次需要增加資料的時候都要去尋找以便,很是不方便,最近看到這篇文章,獲益匪淺,作者提供的程式還能直接用,哈哈哈,趕緊mark了,謝謝作者。原文出處:https://mikespook.com/2012/06/golang-channel-%
Time of Update: 2017-08-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 推送在外賣訂餐中扮演著重要的角色,為商家即時接單、騎手即時派單提供基礎的資料通道。早期推送是由第三方服務商提供的,隨著業務複雜度的提升、訂單量和使用者數的持續增長,之前的系統已經遠遠不能滿足需求,構建一個高效能、高可用的推送系統勢在必行。今年上半年我們用go開發了一個hybrid push服務,使用者線上則藉助長串連下發訊息,不線上則藉助廠商或第三方通道下發訊息。在構建過程中遇到了些與 goroutine
Time of Update: 2017-08-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 最近比較忙也沒有時間打理專欄,今天決定寫一個關於切片的內部實現。內部實現 Go中的切片是一種資料結構,切片可以按照自己的方式增長或者減短,切片是一個很小的結構,在我的64位電腦上只有24位元組,切片有三個欄位如下:type slice struct {array unsafe.Pointerlen intcap int}第一個欄位array指向底層數組的一個指標,len記錄切片訪問元素的個數(可訪問長度)
Time of Update: 2017-08-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。GOMAXPROCS 用預設的,就是CPU的硬體執行緒數目, 對於大部分IO密集的應用是不合適的。 至少應該配置到硬體執行緒數目的5倍以上, 最大256。 具體參見。 這是為什麼呢? 我們來複習下Go的執行緒模式,M/P/G 三種對象,分別代表 作業系統線程、協程執行令牌、協程; 在任何情況下,Go運行時並行執行(注意,不是並發)的goroutines數量是小於等於P的數量的。
Time of Update: 2017-08-08
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 無意中在 medium 看到了一篇文章《Best practices for a new Go developer》,讀完之後略有啟發,摘錄文章觀點至此共饗,感興趣讀者可以直接閱讀原文,原文很長也很散亂。1工欲善其事必先利其器,真正寫用 Go 編寫代碼之前先準備好你的環境,可以考慮從官方文檔 How to Write Go Code。Go
Time of Update: 2017-08-08
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 type 的分類在 Go 中所有需要被定義和聲明的對象都是 type,int,string,function,pointer,interface,map,struct 等等。和大多數電腦語言一樣,Go type 預設包含常用的基礎資料類型,boolean,numeric and string,這些類型稱為 pre-declarered types,這些基礎的資料又可以進一步構成更複雜的類型 array,
Time of Update: 2017-08-08
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。去年年初的時候曾經寫過一篇關於如何擷取goroutine id的方法: 如何得到goroutine 的 id?, 當時調研了一些一些擷取goid的方法。基本的方法有三種:通過Stack資訊解析出ID通過彙編擷取runtime·getg方法的調用結果直接修改運行時的代碼,export一個可以外部調用的GoID()方法每個方式都有些問題, #1比較慢, #2因為是hack的方式(Go team並不想暴露go id的資訊),
Time of Update: 2017-08-05
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。C語言中的getopt()函數為命令參數的擷取提供了很大便利,與golang中的flag功能類似。C語言getopt 下面以ssh中擷取主機名稱/ip和使用者名稱為例來樣本如何使用getopt(). int get_user_host(int ac, char **av, char *host, char *user){ char *p, *cp; extern int optind; int
Time of Update: 2017-08-14
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。題目描述Given a positive integer, output its complement number. The complement strategy is to flip the bits of its binary representation.Note:The given integer is guaranteed to fit within the range of a 32-bit signed
Time of Update: 2017-08-13
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Golang聲明變數 VS Ruby聲明變數所有程式設計語言裡面,我敢相信沒有一門能比在Ruby裡面聲明一個變數來的更加快活了,以至於我再剛開始使用Golang的時候,被各種類型限制搞得十分頭疼foo = 1=> 1foo.class=> Fixnum foo = 1.0=> 1.0foo.class=> Floatfoo = 1111111111111111111111111111111=> 111
Time of Update: 2017-08-13
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。控制並發有三種種經典的方式,一種是通過channel通知實現並發控制 一種是WaitGroup,另外一種就是Context。1. 使用最基本通過channel通知實現並發控制無緩衝通道無緩衝的通道指的是通道的大小為0,也就是說,這種類型的通道在接收前沒有能力儲存任何值,它要求發送 goroutine 和接收 goroutine 同時準備好,才可以完成發送和接收操作。從上面無緩衝的通道定義來看,發送 goroutine 和接收
Time of Update: 2017-08-13
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 新入手了一個Macbook pro,打算重新設定下自己的開發環境,老的mac畢竟硬碟太小了,所以這次換了個1T的,好了閑話不說了,主要記錄下我在安裝idea系列產品中遇到的問題和解決辦法。 安裝JetBrains的Gogland產品,下載,安裝,很順利,沒毛病。 因為公司是使用svn來管理代碼的,所以必須使用svn外掛程式,這時候問題來了: 因為官方下載的subversion外掛程式,只支援1.8,而新的os