原创 golang中recover和panic用法

golang中沒有try... catch...,所以當golang中遇到panic時,如果不進行recover,便會導致整個程序掛掉,具體例子如下: package main import ( "fmt" ) func main

原创 golang中goconfig包使用解析

注意事項 本博客隸屬於 goconfig - 課時 1:goconfig 使用解析 請注意配套使用。 本博文爲 goconfig - Go 語言 INI 解析器的配套博客,旨在通過文字結合代碼示例對該庫的使用方法和案例進行講解,便於各位

原创 golang中builtin包說明

builtin包是go的預聲明定義,包括go語言中常用的各種類型和方法聲明,包括變量和常量兩部分.其詳細聲明在builtin.go文件中,鏈接:http://golang.org/src/builtin/builtin.go 首先介紹一下

原创 golang中os包用法

os包中實現了平臺無關的接口,設計向Unix風格,但是錯誤處理是go風格,當os包使用時,如果失敗之後返回錯誤類型而不是錯誤數量. os包中函數設計方式和Unix類似,下面來看一下. func Chdir(dir string) erro

原创 golang中os/user包用法

os/user包允許用戶賬號通過用戶名或者用戶id查找用戶 type UnknownUserError type UnknownUserError string func (e UnknownUserError) Error()

原创 Golang的GC信息

本文轉自:http://studygolang.com/articles/2701 一、GC信息的信息收集 設置環境變量GODEBUG=gctrace=1。 使用方法,如果程序爲myserver。正常的啓動方法爲./myser

原创 Go與C語言的互操作

Go有強烈的C背景,除了語法具有繼承性外,其設計者以及其設計目標都與C語言有着千絲萬縷的聯繫。在Go與C語言互操作(Interoperability)方面,Go更是提供了強大的支持。尤其是在Go中使用C,你甚至可以直接在Go源文件中編寫

原创 golang中container/list包用法

list是一個雙向鏈表。該結構具有鏈表的所有功能。 type Element type Element struct { Value interface{} //在元素中存儲的值 } func (e *Eleme

原创 golang中container/list包中的坑

golang中list包用法可以參看http://blog.csdn.net/chenbaoke/article/details/42780895 但是list包中大部分對於e *Element進行操作的元素都可能會導致程序崩潰,其根本原

原创 golang 中map併發讀寫操作

go中map併發使用是不安全的,當你使用goroutine同時對一個map進行讀寫操作時,不確定會發生什麼(由於讀寫執行順序不確定造成的).針對這種情況,我們要添加讀寫鎖對sync.RWMutex其進行同步. var counter =

原创 Git常用命令備忘

1.Git配置 git config --global user.name "robbin" git config --global user.email "[email protected]" git config --globa

原创 golang中os/signal包的使用

os/signal包實現對信號的處理 golang中對信號的處理主要使用os/signal包中的兩個方法:一個是notify方法用來監聽收到的信號;一個是 stop方法用來取消監聽。 func Notify(c chan<- os.Sig

原创 golang中defer精析

本文轉自chen yuwen的博客:http://my.oschina.net/yuwenc/blog/300592 example1 func f() (result int) { defer func() {

原创 golang中sort包用法

golang中也實現了排序算法的包sort包. sort包中實現了3種基本的排序算法:插入排序.快排和堆排序.和其他語言中一樣,這三種方式都是不公開的,他們只在sort包內部使用.所以用戶在使用sort包進行排序時無需考慮使用那種排序方式

原创 golang中os/exec包用法

exec包執行外部命令,它將os.StartProcess進行包裝使得它更容易映射到stdin和stdout,並且利用pipe連接i/o. func LookPath(file string) (string, error) //Look