Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。exec包執行外部命令,它將os.StartProcess進行封裝使得它更容易映射到stdin和stdout,並且利用pipe串連i/o.func LookPath(file string) (string, error) //LookPath在環境變數中尋找科執行二進位檔案,如果file中包含一個斜杠,則直接根據絕對路徑或者相對本目錄的相對路徑去尋找func main() {f, err := exec.LookPath(
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang的多線程固然好用,但是有時候需要對資料進行上鎖,防止資料被其它線程更改。那麼sync包下的Mutex非常好用。Mutex是一個互斥鎖。可以作為struct的一部分,這樣這個struct就會防止被多線程更改資料。來個例子:package mainimport ("fmt""sync""time")type User struct {Name stringLocker *
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。// Copyright 2013 <chaishushan#gmail.com>. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.#ifndef _DEFER_H_#define _DEFER_H_#include
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。2013-12-27 wcdj大綱本文總結GoLang中常用的幾種函數用法,主要包括:[0] 首先main是一個沒有傳回值的函數[1] 普通函數[2] 函數返回多個值[3] 不定參函數[4] 閉包函數[5] 遞迴函式[6] 類型方法, 類似C++中類的成員函數[7] 介面和多態[9] 錯誤處理, Defer介面[10] 錯誤處理, Panic/Recover測試代碼package mainimport ("fmt"
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。知乎日報 Web版(GoLang實現)以前沒做過Web開發,邊寫邊學GoLang/Git/HTML/CSS/GAE( ⊙o⊙ )哇,這麼多 '/'弱爆了有木有網域名稱、VPS都是蹭朋友的 太慘了( >﹏<。)~嗚嗚嗚……源碼在 https://github.com/Artwalk/GO-ZhihuDaily感謝
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ( "fmt" "sort")func main() { d := []int{5, 2, 6, 3, 1, 4} // unsorted sort.Sort(sort.IntSlice(d)) fmt.Println(d) // Output:[1 2 3 4 5 6] a := []float64{5.5, 2.2,
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。下面我們開始Go的 "Hello world" 的編寫,主要參考資料來自:https://golang.org/doc/install主要包括以下幾個部分:1. Go在Linux核心作業系統下的編譯環境的安裝。我這裡是Ubuntu 15.04, Linux 3.19.0核心。2. Go程式的編寫於運行。3. Go程式簡要說明4. Go的卸載下面先看:Go編譯環境的配置其實,go的安裝相當的簡單,概括起來就兩步:1.
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。win7(64位)下eclipse配置golang開發調試環境1. 下載golang工具包(可以認為類似java的jdk),我這裡下載的是64位的安裝包:2. 安裝golang工具包(一路”下一步“),安裝完成在命令列輸入go
Time of Update: 2015-06-17
這是一個建立於
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go語言實現的服務端程式和java一樣很容易做到跨平台部署。對於私人git伺服器而言,使用golang實現也是一個不錯的選擇。在 Github 上可以使用 HTTP 協議 fetch 和 push 倉庫中的代碼, 其實想要寫一個簡單的 Git HTTP Server 是相當容易的。 基本原理 本地的 Git 在使用 HTTP 協議訪問遠端 Git 倉庫時, 會分別發起如下三種類型的請求:GET
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。大家都知道,在學golang的時候,大家都會去關注謝大的beego快速開發架構。 首先,小弟是win7 32bit系統,在這裡,我要把我學習golang的過程和小心得記錄起來。相信想學的人一定會早早安裝好了go,簡單輕量便捷,沒有的話可以到這裡下載。在你安裝好GO
Time of Update: 2015-06-17
這是一個建立於
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang的語言中提供了斷言的功能。golang中的所有程式都實現了interface{}的介面,這意味著,所有的類型如string,int,int64甚至是自訂的struct類型都就此擁有了interface{}的介面,這種做法和java中的Object類型比較類似。那麼在一個資料通過func
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。簡單學習了golang/go語言的基礎文法,做個定時切割nginx日誌的小指令碼練習下,感覺挺好使的~指令碼代碼如下,install後將指令碼加入到crontab定時運行,當然golang也可以自己定時執行,這裡加入到crontab運行,是因為golang進程有可能會被kill掉....package mainimport ("fmt""os""path/filepath""
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1,環境變數設定~$ cd ~$ mkdir go~$ mkdir bin~$ sudo gedit .bashrc在bash檔案的最後添加如下代碼來設定目錄變數: export GOROOT=$HOME/goexport GOOS=linuxexport GOARCH=386export GOBIN=$HOME/bin儲存檔案~$ source .bashrc~$ sudo gedit
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。一直希望有個語言能像java一樣自動管理記憶體, 又像c一樣有指標;昨天偶然在blog首頁看到go的介紹, 突然發現自己已經很落伍了,夢想的語言golang已經出來這麼久了,自己才知道。 由於對C比較熟,物件導向對java比較熟。所以初步涉及golang,總是想c中的這些表達在golang中怎麼來寫;一 HelloWorld好吧,首先來個hello,world;左邊是go,
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。偶然瞭解到了Golang,一直被C++、JAVA、Python在不同的方面折磨,現在我愛上了Golang------不評判語言孰勝孰劣,僅僅是我個人愛上了Golang。資料實在是太少了,處於無奈只能讓連勉強CET4過的我去啃《The Way to Go》。我想,自己受過的苦,後面的人可以少受一些------至少baidu能搜出一些資料,哪怕很淺顯。這一系列的學習筆記,會斷斷續續。不要期望太高,聊勝於無吧。書的目錄:
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在golang中有無比強大的Go命令列工具(go build, go run等),消除了工程檔案的概念,完全用目錄結構和package來推導工程結構和構建順序,因此golang中的工程組織圖是基於package和目錄結構來組織的。這是從《The Way to Go》中摘錄的幾句,原汁原味:Packages are the primary means in Go of organizing and compiling
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。很多人喜歡golang的介面,不用聲明就可以實現;但我更喜歡golang的變數推導和if運算式,看下面一段代碼: var ok bool var vhost *SrsVhost if vid,err := bravo_json_get_number(stream, "vhost"); err != nil {
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Golang裡調用C 2010-04-18 13:21:28| 分類:積累| 標籤:|字型大小大中小 訂閱Golang調用C分兩個步驟:1 寫一個C的wrapper,這個很簡單;2 對wrapper做編譯,這個步驟有點複雜,而且涉及眾多中間檔案。應該是有辦法用自動化的工具簡化這個過程的。先來展示一下C程式。為了將描述集中在如何調用上,C的程式很簡單:prints.h#ifndef PRINTS_HEADvoid