Time of Update: 2016-04-11
標籤:在使用java集合的時候,都需要使用Iterator。但是java集合中還有一個迭代器ListIterator,在使用List、ArrayList、LinkedList和Vector的時候可以使用。這兩種迭代器有什麼區別呢?下面我們詳細分析。這裡有一點需要明確的時候,迭代器指向的位置是元素之前的位置,如所示:這裡假設集合List由四個元素List1、List2、List3和List4組成,當使用語句Iterator it =
Time of Update: 2016-04-16
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。//disgtinguish_new&makeprojectmain.go/* 參考型別 : slice channel map new 和 make 建立參考型別的區別 new 會根據類型的大小,分配該大小的零值空間,然後返回該空間首地址. make 會被編譯器翻譯成具體的建立函數,由其分配記憶體和初始化成員變數,返回對象,而非指標、*/package mainimport (.
Time of Update: 2016-04-16
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ("fmt")type Stack struct {top intdata [10]int}func initStack(s *Stack) {s.top = 0}func push(s *Stack, element int) {s.data[s.top] = elements.top++}func pop(s *Stack) int {s.top--return
Time of Update: 2016-04-15
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。堆分最大堆、最小堆。 以最大堆為例。最大堆是一個完全二叉樹。 並且要求每個結點的值必須大於他的兩個子節點。 所以他的根結點一定是最大值。但是左右結點大小不一定。用數組表示的二叉樹,可以這樣表達: i的子節點下標為 2*i + 1 和 2 * i + 2. i的父節點下標為
Time of Update: 2016-04-15
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。GO-LANG學習筆記--基礎文法篇(一)變數go語言的變數需要使用var關鍵字顯式聲明,如果給變數賦予了初始值的話,可以不聲明變數類型,go可以自動推導變數的資料類型,如下面的變數s。var x intvar f float32 = 1.6var s = "abc"也可以有更簡單的辦法來聲明變數--在同一行聲明多個變數,如下:var x, f, s = 1, 1.6,
Time of Update: 2016-04-14
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。http://www.tuicool.com/articles/BFruI3 go語言提供一個json解析的包。見 http://golang.org/pkg/encoding/json/官方同時提供了一篇文章 JSON and Go 講述json包的用法, 該文章同時存在中文翻譯: JSON與Go 。看過上述兩篇文章後,基本使用應該就沒問題了。 同時,貼幾個官方的例子,方便理解。 Decoder:
Time of Update: 2016-04-13
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。安裝sublime參考:http://blog.csdn.net/cyxcw1/article/details/10329481本系列參考:http://www.runoob.com/go/go-ide.html 有安裝開發工具的說明注意:以上的註冊碼在sublime3.0版本中不適用第一個程式//第一個Go程式,注意沒有分號結尾、//本人實用的是sublime作為編輯器的//package
Time of Update: 2016-04-12
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1、指標Go 具有指標。 指標儲存了變數的記憶體位址。類型 *T 是指向類型 T 的值的指標。其零值是 `nil`。var p *int& 符號會產生一個指向其作用對象的指標。i := 42p = &i* 符號表示指標指向的底層的值。fmt.Println(*p) // 通過指標 p 讀取 i*p = 21 // 通過指標 p 設定 i這也就是通常所說的“間接引用”或“非直接引用”。與 C
Time of Update: 2016-04-11
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。因為 雲巴 系統對高並發、低延遲的需求,我們對各個語言、平台做了很多的調研比較工作。這自然就包括致力於開發高並發應用的 Go 和 Erlang。並發Go 對高並發的支援通過 goroutine 實現。goroutine 可以理解為輕量級的 線程(thread)。同一個 Go 應用建立的 goroutine 共用地址空間。Erlang 的高並發通過輕量級 進程(process)實現,每一個進程都有獨立的狀態記錄。另外,使用
Time of Update: 2016-04-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go原始碼根目錄結構|– AUTHORS — 檔案,官方 Go語言作者列表|– CONTRIBUTORS — 檔案,第三方貢獻者列表|– LICENSE — 檔案,Go語言發布授權協議|– PATENTS — 檔案,專利|– README —
Time of Update: 2016-04-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。項目中需要遍曆目錄,使用golang的walk函數,但在遍曆時遇到一個奇怪的問題:1.當從控制台輸入的路徑中含有中文字元時,會出現錯誤;2.在IDE中調試,輸入含中文字元的路徑時,正常;3.當把含中文的路徑直接寫進代碼時,正常。可能的原因:golang是使用utf-8編碼,windows是使用GBK編碼,難道在控制台輸入的路徑使用了GBK編碼,程式處理卻當成utf-8了?無解。。。代碼:var path
Time of Update: 2016-04-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。最近在看看一個Golang的項目,裡面使用了GLFW和GL來寫UI,之前從來沒有接觸過這兩個庫,安裝官方文檔寫了一個例子。package mainimport ( "runtime" "github.com/go-gl/glfw/v3.1/glfw")func init() { // This is needed to arrange that main() runs on
Time of Update: 2016-04-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。deferGo語言中有種不錯的設計,即延遲(defer)語句,你可以在函數中添加多個defer語句。當函數執行到最後時,這些defer語句會按照逆序執行,最後該函數返回。特別是當你在進行一些開啟資源的操作時,遇到錯誤需要提前返回,在返回前你需要關閉相應的資源,不然很容易造成資源流失等問題。如下代碼所示,我們一般寫開啟一個資源是這樣操作的:func ReadWrite() bool { file.Open("file&
Time of Update: 2016-04-16
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。tcmalloctcmalloc 優點速度更快,比glicbc 2.3
Time of Update: 2016-04-16
標籤:建立TCP需要三向交握才能建立,而中斷連線則需要四次握手。整個過程如所示:先來看看如何建立串連的。首先Client端發送串連請求報文,Server段接受串連後回複ACK報文,並為這次串連分配資源。Client端接收到ACK報文後也向Server段發生ACK報文,並分配資源,這樣TCP串連就建立了。那如何中斷連線呢?簡單的過程如下:【注意】中斷串連端可以是Client端,也可以是Server端。假設Client端發起中斷串連請求,也就是發送FIN報文。Server端接到FIN報文後,意思是說
Time of Update: 2016-04-13
標籤:一、引言很多時候,我們寫了一個Dll,不希望別人通過DLL查看工具,看到我們的匯出函數名稱。可以通過以下步驟實現:1. 在def函數中做如下定義:LIBRARYEXPORTSHideFuncName @1 NONAME通過添加NONAME關鍵字,隱藏函數名,這樣的話,用Dependency Walker來查看該Dll,只能看到如下結果: 2. 如何調用該Dll中的函數,通過ID的方式調用,代碼如下: 1 typedef void (WINAPI *FPHideFuncName)(
Time of Update: 2016-04-11
標籤:早在五年前,我就想著要是微軟出一套基於C語言的易於開發的Web架構該多好,那效能肯定比Asp.Net要高很多。後來知道有個PHP效能不錯,但是又由於討厭在HTML頁面裡面寫蛋疼的後台代碼,於是一度很鄙視PHP。最近由於雲端運算的風行,GO語言也被追捧,下面我就在CentOS系統上安裝GO運行時和開發工具做嘗試。一、安裝GO運行環境1、安裝GO運行環境,必須確保機子上已經安裝了GCC編譯器。想知道機子上有沒有安裝GCC簡單,只需輸入“gcc
Time of Update: 2016-04-11
標籤:在UML類圖中,常見的有以下幾種關係: 泛化(Generalization), 實現(Realization),關聯(Association),彙總(Aggregation),組合(Composition),依賴(Dependency) 1. 泛化(Generalization) 【泛化關係】:是一種繼承關係,表示一般與特殊的關係,它指定了子類如何特化父類的所有特徵和行為。例如:老虎是動物的一種,即有老虎的特性也有動物的共性。 【
Time of Update: 2016-04-11
標籤:在UML的類圖中,常見的有以下幾種關係: 泛化(Generalization), 實現(Realization), 關聯(Association), 彙總(Aggregation), 組合(Composition), 依賴(Dependency)1. 泛化(Generalization)【泛化關係】:是一種繼承關係, 表示一般與
Time of Update: 2016-04-11
標籤:原文地址:http://www.cnblogs.com/kingcat/archive/2012/10/16/2726334.html為啥需要Unicode 我們知道電腦其實挺笨的,它只認識0101這樣的字串,當然了我們看這樣的01串時肯定會比較頭暈的,所以很多時候為了描述簡單都用十進位,十六進位,八進位表示.實際上都是等價的,沒啥太多不一樣.其他啥文字圖片之類的其他東東電腦不認識.那為了在電腦上表示這些資訊就必須轉換成一些數字.