Time of Update: 2016-09-16
標籤:系統 CenterOs 6.51.安裝依賴包(cmake make gcc等,其實好多都有了,不需要更新,為了防止世界被破壞,就裝下)yum install gcc gcc-c++ -yyum install -y ncurses-devel.x86_64yum install -y cmake.x86_64yum install -y libaio.x86_64yum install -y bison.x86_64yum install -y
Time of Update: 2016-09-19
標籤:原文地址 WinForm自訂函數FindControl實現按名稱尋找控制項本文所述執行個體實現WinForm自訂函數FindControl實現按名稱尋找控制項的功能,在C#程式開發中有一定的實用價值。/// <summary>/// 按名稱尋找控制項/// </summary>/// <param name="parentControl">尋找控制項的父容器控制項</param>/// <param
Time of Update: 2016-09-16
標籤:一、在學習arm過程中發現這“指標函數”與“函數指標”容易搞錯,所以今天,我自己想一次把它搞清楚,找了一些資料,首先它們之間的定義:1、指標函數是指帶指標的函數,即本質是一個函數。函數傳回型別是某一類型的指標 類型標識符 *函數名(參數表) int
Time of Update: 2016-09-20
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang有兩個非常大的特性,那就是goruntime與channel,這兩個特性直接將開發人員從並發和線程同步中解放了出來,使高並發和線程同步之間代碼的編寫變得異常簡單,並且佔用資源少,同步傳輸效率高。 資源佔用方面,goroutine
Time of Update: 2016-09-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在Go中,介面interface其實和其他語言的介面意思也沒什麼區別。interface理解其為一種類型的規範或者約定。一種類型是不是“實現”了一個介面呢?就看這種類型是不是實現了介面中定義的所有方法。1 介面的定義和使用。比如type I interface{Get() intPut(int)}這段話就定義了一個介面,它包含兩個函數Get和Put 好了,我的一個介面實現了這個介面:type S struct {val
Time of Update: 2016-09-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。問題由一個需求引起: web的controller,希望建立一個基類,然後在子類的controller中定義action方法,基類有一個run函數能根據字串自動找到子類的action方法。 如何解決呢? -- 用繼承 樣本分析繼承 首先這個需求是很普遍的,由於腦中有繼承概念,所以想當然地以為這個很容易實現: package mainimport("reflect")type A
Time of Update: 2016-09-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。最近 fix 了一個 Go 程式系統線程數量暴增的問題,線程數量維持在2,3萬個,有時候甚至更多,這情況明顯不符合 Go 的並發原理。第一次發現線程數巨多是因為這個程式突然 crash 了,由於設定了程式可用的最大線程數,所以線程數一太多就會crash。這個程式其實就是現在挺火熱的 Swarm,Swarm 這個程式的模式就是作為 client 的角色向數萬個 docker daemon
Time of Update: 2016-09-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。判斷reflectValue類型並提取資料addressable擷取結構體方法的名稱判斷reflect.Value類型並提取資料對於reflect.Value類型資料,根據Kind()進行判斷func formatAtom(v reflect.Value) string { switch v.Kind() { case reflect.Invalid: return "invalid"
Time of Update: 2016-09-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。注意: 此文章只是我的個人筆記,如有謬誤,錯誤, 請一定指出!for range 問題http://stackoverflow.com/questions/30577212/go-for-range-slice-and-goroutine-method-invocation-the-logic-behindpackage mainimport ( "fmt" "time")type
Time of Update: 2016-09-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。這裡省略了關鍵字var,我很喜歡這種方式(可以少寫代碼,而沒有任何壞處)。 但這有需要注意的是“ :=” 是在聲明和初始設定變數,因此該變數必須是第一次出現,如下初始化是錯誤的。但是要注意賦值時要確定你想要的類型,在Go中不支援隱式轉換的。如果是定義個float64類型的變數,請寫為 v1 :=8.0 而不是v1 :=8 。總結如下::= 給某變數的第一次賦值,初始化= 變數的非第一次賦值== 等於操作符
Time of Update: 2016-09-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。# Go語言AST嘗試 Go語言有很多工具, goimports用於package的自動匯入或者刪除, golint用於檢查源碼中不符合Go coding style的地方, 比如全名,注釋等. 還有其它工具如gorename, guru等工具. 作為工具它們都是使用go語言([查看](https://github.com/golang/tools/tree/master/cmd))開發的, 這些工具都有一個共同點就是:
Time of Update: 2016-09-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang web 一個簡單的web Demo. 可參考 Writing Web Applications 項目目錄結構 main.go// web project main.gopackage mainimport ( "log" "net/http" "text/template")type WebData struct { Name
Time of Update: 2016-09-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1、擷取 Protobuf 編譯器 protoc,跟C++通用的;可以在git下載到二進位檔案2、擷取 goprotobuf 提供的 Protobuf 編譯器外掛程式 protoc-gen-gogo get github.com/golang/protobuf/protoc-gen-go將protoc-gen-go二進位執行程式所在的目錄加入到環境變數,或者直接將二進位檔案拷貝到 protoc 所在的目錄3.擷取
Time of Update: 2016-09-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go封裝日誌: 支援歸檔輸出,一個小時壓縮歸檔一份最多保留三天的日誌支援記錄層級自訂如果沒有指定輸出檔案預設輸出到控制台。支援輸出檔案名行號,以及時間、日誌界別 如: info 10:08:40.826836 handler.go:81 package loggerimport ( "fmt" "log" "os" "os/exec"
Time of Update: 2016-09-17
這是一個建立於
Time of Update: 2016-09-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。退出運行中的程式,可以粗暴的kill -9 $PID,但這樣會破壞業務的完整性,有可能一個正在在執行的邏輯半途而費,從而產生不正常的垃圾資料。本文總結在go語言中,如何能優雅的退出網路應用,涉及的知識包括:signal,channel,WaitGroup等。從這裡:https://gobyexample.com/channel-synchronization
Time of Update: 2016-09-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。發表回複通過原子計數可以在多線程情況下,對同一個數值進行加減操作,一般用於狀態同步。先看代碼:12345678910111213141516171819202122232425262728293031323334package mainimport "fmt"import "time"import "sync/atomic"import "runtime"func
Time of Update: 2016-09-16
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。什麼是Go?go是一門並發支援、記憶體回收的編譯型系統編程語。旨在創造一門具有在靜態編譯語言的高效能和動態語言的高並發之間擁有良好平衡點的一門程式設計語言。 官方網站:https://golang.orgGo特點型別安全和記憶體安全以非常直觀和極低代交的方案執行高並發高效的記憶體回收快速編譯UTF-8支援go的存在價值Go在Google:以軟體工程為目的的語言設計安裝下載連結:
Time of Update: 2016-09-16
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在此之前,搭建了Go的開發環境,並且瞭解的Go程式的基本結構。選擇了一款Go的開發工具。有了這些,現在可以繼續探索Go的魅力了。變數聲明、初始化在Go中對於變數的聲明使用關鍵字var,這和JavaScript,Pascal一樣。在Swift 中var
Time of Update: 2016-09-16
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。連我自己都沒猜到居然有2。。上回講到了如何讓皮卡丘出現在"現實"中。這次,我們要帶上精靈球捕抓皮卡丘了!(啪啪啪1.建立一個Sphere作為精靈球,然後上貼圖。啊!我們是不是設定得太大了,感覺可以直接丟暈皮卡丘了23332.接下來我們要扔出精靈球了,其實就是簡單的投籃遊戲。①先記錄下精靈球的位置void StartSet () { Debug.Log("設定精靈球位置");