Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go語言中的nil遠比java中的null要難以理解和掌握。1.普通的 struct(非指標類型)的對象不能賦值為 nil,也不能和 nil 進行判等(==),即如下代碼,不能判斷 *s == nil(編譯錯誤),也不能寫:var s Student = nil。s := new(Student) //使用new建立一個 *Student 類型對象fmt.Println("s == nil", s == nil)
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1.引入介面泛指實體把自己提供給外界的一種抽象化物(可以為另一實體),用以由內部操作分離出外部溝通方法,使其能被修改內部而不影響外界其他實體與其互動的方式。(來源於百度百科)2.其他語言的介面java的介面public interface Animal {//定義介面 void eat();}public class Dog {//與介面裡的方法名相同,但並未實現Animal介面 void eat() {}}public
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。LiteIDE簡介 go語言開發工具,更新至0.1.6,支援WIN32/Linux64bit。實現特徵: *) UTF8檔案讀寫*) GO文法高亮*) 專案管理*) 支援.pro項目編譯*) 支援無項目單獨檔案編譯*) gopromake自動編譯工具*) 可以從編譯錯誤中定位到源碼項目首頁: http://code.google.com/p/golangide/項目下載:
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go語言實現隨機數產生器。package mainimport "fmt"import "math/rand"import "time"func rand_generator() chan int{ out:=make(chan int) go func(){ for{ rand.
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。這段時間在學習Go語言和Beego架構,寫個簡單網站練練手功能很簡單,從資料庫中隨機讀取一篇文章並呈現給網站。要解決的主要問題有:1.從檔案夾中讀取所有txt檔案並存入MySql 2. 從Mysql中隨機讀取article 遍曆檔案夾,找出所有txt檔案並去掉尾碼和路徑首碼之後作為文章的標題,再讀取檔案,並存入資料庫 :
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。5.0 控制結構 這章挺簡單,程式也離不開控制和迴圈語句,按照每個語言的要求來就行了,沒有什麼特別的 ,讓我們看看go的分支和迴圈是什麼樣的 關鍵字 if 和 else 之後的左大括弧 { 必須和關鍵字在同一行,如果你使用了 else-if 結構,則前段代碼塊的右大括弧 } 必須和 else-if 關鍵字在同一行。這兩條規則都是被編譯器強制規定的 if condition { // do something }if
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。LiteIDE簡介go語言開發工具,更新至0.1.6,支援WIN32/Linux64bit。實現特徵:*) UTF8檔案讀寫*) GO文法高亮*) 專案管理*) 支援.pro項目編譯*) 支援無項目單獨檔案編譯*) gopromake自動編譯工具*)
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。已經快12點了,先寫了發出來,要不就算明天的了今天寫的有點晚,現在代碼正在調試中,一會發出來最近看了好多基礎的go語言教程,然後教程裡都有的也不好意思再在這寫一遍了,寫一個猜數字小遊戲練手,也算用到了很多基礎知識了代碼如下:package mainimport ("bufio""fmt""math/rand""os")func main() {fmt.Println(
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。GO語言的複製十分靈活,總的來說分為顯式類型賦值和隱式類型賦值var v1 int = 1 //變數名v1,顯式宣告類型int,賦值1var v2 int //只聲明,不賦值,顯式宣告類型v2 = 2 //賦值var v3 = 3 //變數名v3, 隱藏宣告類型,賦值3v4 := 4 // 直接複製,隱式宣告類型GO語言的變數聲明和賦值方式多樣自由var{ v5 int = 5 v6 int v7 = 10
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。最近工作有閑,看了看go語言,用go語言實現了一下斐波那契數列 代碼如下: package mainfunc main() {result,next:=test1(50)println(result,next)result :=test(15) println(result)}//最佳化func test1(n int64) (result int64,next int64){switch n { case
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。問題重現:小明剛剛看完電影《第39級台階》,離開電影院的時候,他數了數禮堂前的台階數,恰好是39級!站在台階前,他突然又想著一個問題:如果我每一步只能邁上1個或2個台階。先邁左腳,然後左右交替,最後一步是邁右腳,也就是說一共要走偶數步。那麼,上完39級台階,有多少種不同的上法呢?請你利用電腦的優勢,協助小明尋找答案。 遞迴解決方案(Go語言實現)package mainimport ("fmt")/*遞迴核心
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。n! 的結果中包含多少個0(Go語言實現)詳細解釋見代碼注釋package mainimport ("fmt")type myInt int32/**統計階乘n!結果中0的個數*方法1:統計5出現的次數*如25出現了兩個5*因為任意一個偶數都可以和5組成10*而且偶數的量是足夠的 */func fZereCount1(n myInt) myInt {var count, i myInt = 0,
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。GO語言中包是函數和資料的集合。用package關鍵字定義一個包,包名的約定是使用小寫字元。包中的函數名以大寫字母啟始的是可匯出的,及可以在包外部調用GO 包的編譯使用 go build安裝使用 go install包命名規則:小寫字母的一個單詞,不應有底線或混合大小寫。包名是匯入的預設名稱,可以使用其他名稱來代替預設名稱: import bar "bytes" 則
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在Go語言中,defer語句會在該函數結束的時候被調用,即使後面的語句運行時出現異常了defer語句仍然會被執行。需要注意的是,如果defer語句中引用了參數,則該參數的值將是程式到defer這一行的時候的值,而與後面的語句沒有關係。以下為簡單測試:package mainimport "fmt"func main() {func_b_0()func_b_1()func_b_2()}func func_b_0()
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go 語言中的 channel 是實現 goroutine 間無鎖通訊的關鍵機制,他使得寫多線程並發程式變得簡單、靈活、觸手可得。下面就個人理解對 channel 使用過程中應該注意的地方進行一個簡要的總結。channel 分類: 不帶緩衝 channel, 帶緩衝 channel(1)不帶緩衝 channel文法: (a)建立channel
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1.go語言匿名函數的用法1-聲明一個匿名函數 func(參數列表) 傳回值列表 { 函數體... }2-匿名函數的調用 package mainimport ( "fmt")func main() { //無參數直接加括弧 func() int { var i int =5 fmt.Printf("func 1\n")
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Mayuyu要介紹兩個個Go語言編寫的K-V資料庫,分別是goleveldb和ledisdb。 goleveldb在github上的連結為:https://github.com/syndtr/goleveldb 開發文檔參考:http://godoc.org/github.com/syndtr/goleveldb 而ledisdb可以參考如下幾篇文章 連結一:http://www.infoq.com/cn/news/2014/0
Time of Update: 2015-06-17
這是一個建立於
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 最近做項目用到golang語言,遇到時間格式相互轉換的問題,參考網上資料自己寫了代碼測試了下,能夠成功轉換,把代碼貼出來以備後用,也供需要者查看。<span style="font-size:18px;">// time_format.gopackage mainimport ("fmt""time")func main() {fmt.Println(
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go語言的Regex使用很簡單,範例程式碼:package testimport ("fmt""regexp")func RegixBase()