Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在go裡面,string和slice的互換是需要進行記憶體拷貝的,雖然在底層,它們都只是用 pointer + len來表示的一段記憶體。通常,我們不會在意string和slice的轉換帶來的記憶體拷貝效能問題,但是總有些地方需要關注的,剛好在看vitess代碼的時候,發現了一種很hack的做法,string和slice的轉換隻需要拷貝底層的指標,而不是記憶體拷貝。當然這樣做的風險各位就要好好擔當了:func String(b [
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。示範地址 http://gblog-revel.herokuapp.com/1.首頁好,我用revel new GBlog
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go 0x30008000之後遇到的問題停在"booting the kernel"不動了!-------------------------------------------問題:Uboot> go 0x30008000 (啟動核心)Uncompressing Linux................................................................
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Packet在網路傳輸中必須要考慮萬一資料損毀的情況,CRC32與Adler32都是最常用的演算法。Go與Android都內建好了這兩種演算法的實現,直接使用就好。Go的調用方式如下:// 校正演算法(ADLER32/CRC32)例子//author: Xiong Chuan Liang//date: 2015-4-12package mainimport ("fmt""hash/adler32"&
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。第一步:建立一個 package "even"第二步:編寫代碼// even project even.gopackage evenfunc Even(i int)bool{return i%2==0}func odd(i int)bool{return i%2==1}第三步:在包 even 下建立測試檔案 even_test.go第四步:編寫測試代碼// even_testpackage evenimport
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。之前一直在windows下測試go代碼,儲存為utf-8,就可以正常顯示中文.遷移到linux後發現中文無法正常顯示.搜尋了一下類似問題幾乎沒有.測試發現是使用終端的問題.我一直用的secure crt4.0,
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 package mainimport "fmt"func Count(ch chan int) { fmt.Println("Do Something") //do something work ch <- 1}func main() { chs := make([]chan int, 10) /* * 這樣初始channel數組才是對的 (標1)
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。學習筆記,來自《Go Web 編程》make、new操作make用於內建類型(map、slice 和channel)的記憶體配置。new用於各種類型的記憶體配置。內建函數new本質上說跟其它語言中的同名函數功能一樣:new(T)分配了零值填充的T類型的記憶體空間,並且返回其地址,即一個*T類型的值。用Go的術語說,它返回了一個指標,指向新分配的類型T的零值。有一點非常重要:new返回指標。內建函數make(T,
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。原創文章,轉載請註明出處:伺服器非業餘研究http://blog.csdn.net/erlib
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。由於自己的PC筆記本,用的是可憐的120G SSD硬碟,相對於現在浩瀚無比的WIN7,VS ,硬碟空間少的可憐,經常導致硬碟空間不足。沒辦法,每次都人肉清除臨時檔案比如VS編譯時間,產生的.obj檔案 串連時產生的.pdb檔案還有就是,VS2010引入的為了提高智能提示而產生的.sdf檔案。所以想到用程式自動實現這個功能,剛好正在學習go語言,全當練手了。程式很簡單,就是從某個目錄遞迴開始,刪除某些類型的檔案//My first
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 Go裡面有兩個保留的函數:init函數(能夠應用於所有的package)和main函數(只能應用於package main)。這兩個函數在定義時不能有任何的參數和傳回值。雖然一個package裡面可以寫任意多個init函數,但這無論是對於可讀性還是以後的可維護性來說,我們都強烈建議使用者在一個package中每個檔案唯寫一個init函數。
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。自己沒事調整了一下參數,然後從新跑了一下,時間縮短為34秒,結果還可以.package mainimport ("fmt""os""runtime""test""time")var x chan []int = make(chan []int, 1)var Num int = 10 //改為100var WNum int = 100func main(
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport "fmt"func fibonacci(c, quit chan int) { x, y := 0, 1 for { select { case c <- x: x, y = y, x+y case <-quit: fmt.Println("quit")
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。參照anyevent/coro版的ping功能實現.golang沒有方便的pop/shift文法,只能自己按數組進行計數/*gorouting版本的並行ping */package mainimport ("ping""fmt""time""strconv")var fin chan string;
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package rtmpimport ("bufio"log "github.com/cihub/seelog""net""runtime""sync""time")var shandler ServerHandler = new(DefaultServerHandler)func ListenAndServe(addr string)
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。介紹polaris是一個用go實現的支援restful的web架構,主要參考tornado進行設計。雖然在go裡面搭建一個http
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1:運行環境說明:go:1.0.3 64位jdk:1.7_u9 64位作業系統:win7 64位,Thinkpad T410i,i3 M350,2.27GHz,雙核4線程,8G記憶體文字檔:UTF-8純文字檔案,以行為單位,檔案大小2.6G程式目標:以行為單位讀取該檔案,並將讀取的行寫入另一個新的檔案內。2:程式結果java totalTime:96096毫秒 client模式java totalTime:77595毫秒
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在使用go git 取資源套件的時候出錯誤:============================================================Microsoft Windows [版本 6.1.7600]著作權 (c) 2009 Microsoft Corporation。著作權所有,並保留一切權利。C:\Users\wsq>go get
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。引用:https://bitbucket.org/kardianos/serviceservice will install / un-install, start / stop, and run a program as a service (daemon).Currently supports Windows XP+, Linux/Upstart, and OSX/Launchd.package mainimport (
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1.建立pipeline1.1找到滿足job執行需求的agentresource是純文字的tag,使用者可以根據自己的習慣定義。Go執行job,選擇agent時,並不知道agent的系統資訊也不知道agent是否滿足執行job的條件。使用者需要根據自己定義的這些resource來判斷agent是否滿足需求。我們可以這樣定義resource,“RHEL”,“Mysql”,“windows