Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。下面代碼修改自golang樣本源碼package mainimport ("fmt""sync""net/http""io/ioutil""log")func GetDemo(addr string) {res, err := http.Get(addr)if err != nil {log.Fatal(err)}robots, err :=
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang練習 找到數組中的最大值,把最大值翻轉到隊尾,再把最大值翻到隊頭。 package mainimport ("fmt")// arr 2,5,3,1,4// arr 2,4,1,3func revert(arr []int) {for i,j:=0,len(arr)-1; i<j; i,j=i+1,j-1 {arr[i], arr[j]=arr[j], arr[i]//fmt.Print(arr)
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。這個例子是從go源碼src/pkg/net/rpc/server_test.go截取出來的func benchmarkEndToEndAsync(dial func() (*Client, error), b *testing.B) { const MaxConcurrentCalls = 100 b.StopTimer() once.Do(startServer) client, err :=
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。下面的代碼,來之golang的樣本源碼,其中涉及的常見zip檔案,修改了部分代碼,在ExampleWriter中添加了如下fw, err := os.Create("/home/xxx/mem_sub/go/z.zip") if err != nil { //panic(err) fmt.Println(err) return } defer fw.Close()屏蔽了以下部分/
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 env: ubuntu 13.04 i386 go 1.0.3 sublime text 2 go/golang不錯的IDE組合:gocode + sublime text 2 + gosublime 首先安裝go,兩種方法: 1. 自動:sudo apt-get install golang 配置環境系統幫你配置好了 2.
Time of Update: 2014-10-04
這是一個建立於
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在twitter 上有人討論最喜歡的golang 特性,我也寫下我最喜歡的golang 特點:1.智能堆棧(與GC機制一起工作)對程式員來說消除堆與棧的界限(在語言層次解決了堆棧問題,程式員不再關係資料是存在哪裡,能不能用,解放了程式員),最顯著特點就是:局部變數地址可以直接返回,只要還有引用,GC就不會回收;2.slice declare slice variable 可以直接使用append 不需要去make3.duck
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport "fmt"type t struct {s string}func (o t) f1() {o.s = "f1"}func (p *t) f2() {p.s = "f2"}func main() {t1 := t{s: "t1",}fmt.Println("t1:",
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang http://golang.org/ Go語言是由Google開發的一個開源項目,具體語言特徵就不細說了,可以查看一下文檔。 學習使用了幾天,想起了一句廣告語: 簡約而不簡單。 資深程式員 雲風對go語言使用的一些體驗 http://blog.codingnow.com/2010/11/go_prime.html go
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。01package main02import (03 "net/smtp"04 "fmt"05 "strings"06)07 08/*09 * user : example@example.com login smtp server user10 * password: xxxxx login smtp server password11 * host:
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go語言中的container有heap、list、ring,沒有stack。其中heap是優先順序隊列,雖然有Push()/Pop()介面,但是使用heap要實現heap.Interface介面,不夠簡潔。所以這裡用list封裝了一個簡單的stack,留作他用。 package stack import "container/list" type Stack struct { list *list.List }
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang中defer的執行大家都知道golang的defer關鍵字,它可以在函數返回前執行一些操作,最常用的就是開啟一個資源(例如一個檔案、資料庫連接等)時就用defer延遲關閉改資源,以免引起記憶體流失。例如:func do() (ok bool) { file,_ := os.Open("c:\a.txt") defer file.Close() // doSomething return
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go get code.google.com/p/freetype-go/freetype安裝freetype報錯:package code.google.com/p/freetype-go/freetype: exec: "hg": executable file not found in
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。項目結構: main.go: package main import ( "fmt" "database/sql" //_ "github.com/go-sql-driver/mysql" "io" "log" "net/http" //"io/ioutil" "html/template
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1、下載官網下載:https://code.google.com/p/go/wiki/Downloads?tm=22、安裝我下載的時1.2.2pkg版,直接點擊安裝即可。3、配置 GOROOT=/usr/local/go GOPATH=$home/go export PATH=$PATH:$GOROOT/bin4、測試package mainimport "fmt"func main(){ fmt.Printf(
Time of Update: 2014-10-04
這是一個建立於
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang的nil在概念上和其它語言的null、None、nil、NULL一樣,都指代零值或空值。nil是預先說明的標識符,也即通常意義上的關鍵字。在golang中,nil只能賦值給指標、channel、func、interface、map或slice類型的變數。如果未遵循這個規則,則會引發panic。對此官方有明確的說明:http://pkg.golang.org/pkg/builtin/#Type
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。本文的目的是對mymysql進行單元測試和效能測試 準備工作: 1 go get github.com/ziutek/mymysql/thrsafe 2 在mysql建表和初始化資料(db是test) drop table if exists admin;CREATE TABLE `admin` ( `adminid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。下載解壓: 設定環境變數:vim .profile運行設定VIM環境,查看在go目錄下misc/vim/readme.txt1 mkdir -p $HOME/.vim/ftdetect2 mkdir -p $HOME/.vim/syntax3 mkdir -p $HOME/.vim/autoload/go4 ln -s $GOROOT/misc/vim/ftdetect/gofiletype.vim
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ("fmt""compress/zlib""bytes")func main() {var input =