Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go語言支援遞迴函式。這裡是一個經典例子:factorial 數列。package mainimport "fmt"// fact函數不斷地調用自身,直到達到基本狀態fact(0)func fact(n int) int { if n == 0 { return 1 } return n * fact(n-1)}func main() { fmt.Println(fact(7)
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。進階資料類型,僅僅是做個概念認識,等到其他相關知識的學習時,再著重分析。 1 function將 function 作為資料類型的語言有很多,函數式編程的核心理念。function 是“第一等公民”,function 與其他資料類型一樣,處於平等地位,可以賦值給其他變數,也可以作為參數,傳入另外一個 function ,或者作為別的 function 的傳回值。 在 Go 語言中,進行賦值的首要條件是類型一致,function
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 XML儼然已經稱為我們程式開中一種資料交換和資訊傳遞不可缺少的一枚角色,當然任何語言對XML的解析支援都不可或缺,今天我們一起學習學習go的xml解析。 需要解析的XML檔案:student.xml xml檔案內容:<span style="font-size:14px;"><?xml version="1.0"
Time of Update: 2015-06-17
這是一個建立於
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 參考文章:http://studygolang.com/articles/1113希望解決的問題如下假設有兩個方法,一個方法的接收者是指標類型,一個方法的接收者是實值型別,那麼:對於實值型別的變數和指標類型的變數,這兩個方法有什麼區別?如果這兩個方法是為了實現一個介面,那麼這兩個方法都可以調用嗎?如果方法是嵌入到其他結構體中的,那麼上面兩種情況又是怎樣的?實值型別的變數和指標類型的變數先聲明一個結構體:type T
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go by Example: VariablesIn Go, variables are explicitly declared and used by the compiler to e.g. check type-correctness of function calls.var declares 1 or more variables.You can declare multiple variables at
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go介面非常強大,除了作為一般的介面使用外。它還是go的運行時多態的基礎。更能提供超越boost::any的能力。許式偉的《go語言編程》一書中有對介面的機製作較深入的剖析和介紹。 結合書中描述再加上我自己的理解。整理了一下go介面的資料結構和基本操作的描述。
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go是一門地地道道的物件導向的語言,但是他沒有大部分物件導向語言的關鍵字class,不過這並不影響這門優秀的語言發揮物件導向的特性。Go語言通過struct關鍵字來定義一個類,在定義時,僅僅定義了欄位,並沒有定義函數,例如定義一個Person類,並指定姓名和年齡屬性,但是無法指定test方法(行為)。type Person struct {Name stringAge uint8//func
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Email : hahayacoder@gmail.com 1 Go語言中常用的控制結構有:if語句、switch語句和for迴圈 2 if語句和C語言很類似,但是判斷條件沒有圓括弧括起來,必須有大括弧 //if varvalue int = 2 ifvalue%2 == 0
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Maps是Go語言內建的關聯型資料類型(在其他語言有時候也叫做hashes或者dicts)。package mainimport "fmt"func main() {// 建立一個空字典可以使用內建函數make: "make(map[鍵類型]實值型別)"m := make(map[string]int)// 使用經典的"name[key]=value"來為鍵設定值m["k1&
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 2014年4月25日,Google發布了Go語言1.3 beta1版本。Go 1.3並沒有引入新的語言功能,只是進行了一些功能改進,並解決了該語言中的一些bug和使用者的反饋。Go
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。For迴圈是Go語言唯一的迴圈結構。這裡有三種基本的迴圈類型。package mainimport "fmt"func main() {// 最基本的一種,單一條件迴圈// 這個可以代替其他語言的while迴圈i := 1for i <= 3 {fmt.Println(i)i = i + 1}// 經典的迴圈條件初始化/條件判斷/迴圈後條件變化 //這個也是其他語言中的標準For迴圈
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。參考網頁地址: http://topic.csdn.net/t/20050222/14/3797843.html 今天將一個vc工程拷貝了一份到當前檔案夾下儲存,並用vc開啟複製的工程開始修改程式,發現在使用在標頭檔裡使用go to definition時,經常跳轉到拷貝前的那個工程源檔案裡,而不是當前源檔案裡。另外,記得以前使用vc時也經常出現go to
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1、變數Go語言裡面定義變數有多種方式。var關鍵字是Go最基本的定義變數方式,與C語言不同的是Go把變數類型放在變數名後面://定義一個名稱為“variableName”,類型為"type"的變數var variableName type定義多個變數//定義三個類型都是“type”的三個變數var vname1, vname2, vname3
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 Go語言的語句很簡單,寫起來像是動態語言那樣簡單。不過雖說代碼符號簡單,但是剛剛接觸的時候卻是有些不適應,這裡就先把使用 GoRK3288庫 的時候需要用到的文法列舉一下,其他高深的東西以後再去學習吧。 1.操作符:
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Email : hahayacoder@gmail.com 1 有一款叫做gocode的外掛程式能協助Go的代碼智能補全,使用它能使開發更加高效 2 下載gocode,下載地址https://github.com/nsf/gocode/ 3 將下載好的gocode-master解壓到任意目錄下 4 開啟cmd,切換到解壓後的目錄中,執行go
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package main import ( "fmt" "database/sql" _"mysql") type TestMysql struct { db *sql.DB} /* 初始化資料庫引擎 */func Init() (*TestMysql,error){ test := new(TestMysql); db,err :=
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go的I/O核心是介面io.Reader和io.Writer例:(從檔案讀取)無緩衝package mainimport "os"func main(){ buf := make([]byte, 1024) f, _ := os.Open("/etc/passwd") //開啟檔案,os.Open返回一個實現了io.Reader和io.Writer的*os.File;
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package structTest//struct//Date:2014-4-1 09:57:37import ("fmt""strings")func StructTest01Base() {//structTest0101()//structTest0102()structTest0103()}//定義一個structtype Student struct {id intname
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。把time包相關的函數用法過了下,基本包含大部份常見的用法了.並封裝了下日期顯示格式定製及time.Time數組排序的功能.以便以後調用.保留下測試所用例子: package main //author:xcl//2014-1-14import ("fmt""time" "github.com/xclpkg/utils" "sort")func