Time of Update: 2018-07-26
git2go是一個用go代碼操作git的庫,需要依賴於第三方庫libgit2 安裝libgit2前,先安裝相應的包: yum -y install libssh2-devel 在 https://github.com/libgit2/libgit2 下載libgit2的代碼進行安裝: mkdir build && cd buildcmake ..cmake --build . --target install 然後下載git2go:
Time of Update: 2018-07-26
1、生產環境 VMWare:12.1.1 Centos:6.6 64位 2、需求 由於經常有搭建環境,進行實驗的需要,且重新部署主機耗時過長,所以VM的複製主機功能就成為了不二的選擇。 3、問題描述 複製完後主機,會出現無法上網的情況 4、解決方案 ①首先通過ifconfig命令查看複製後的主機是運行在什麼網卡上的,這裡顯示的是eth1網卡。 ②cd
Time of Update: 2018-07-26
在Go語言中,包是函數與資料的集合,用package定義一個包,包的名字不一定要跟檔案名稱字一樣,接下來,將學習如何使用Go語言的包。 首先,我們建立一個Stack包,然後用一個主程式來調用這個包裡面的方法。這實際上涉及到Go語言中的工程的分包和編譯。Go語言是這麼來配置它的工程的,如下圖 其中package是工程的根目錄,我們需要事先設定環境變數GOPATH,如下
Time of Update: 2018-07-26
##Golang UnitTest單元測試 Golang單元測試對檔案名稱和方法名,參數都有很嚴格的要求。 例如: 1、檔案名稱必須以xx_test.go命名 2、方法必須是Test[^a-z]開頭 3、方法參數必須 t *testing.T 之前就因為第 2 點沒有寫對,導致找了半天錯誤。現在真的讓人記憶深刻啊,小小的東西當初看書沒仔細。 下面分享一點go test的參數解讀。來源 go
Time of Update: 2018-07-26
1.this.$router.push() 描述:跳轉到不同的url,但這個方法迴向history棧添加一個記錄,點擊後退會返回到上一個頁面。 用法: 2.this.$router.replace() 描述:同樣是跳轉到指定的url,但是這個方法不會向history裡面添加新的記錄,點擊返回,會跳轉到上上一個頁面。上一個記錄是不存在的。 3.this.$router.go(n)
Time of Update: 2018-07-26
HDU 5193 題意:給出n個數的序列a,m個操作。 操作1:[x,y] 將y插入到第x個人之後. 操作2:[x],將第x個人刪除(x+1,..n向前進一格). n,m,a[i]<=2e4. 問每次操作後序列a的逆序對(i,j)有多少? (i<j && a[i]>a[j] ). 假如當前逆序對為res,那麼插入一個數y之後 要知道[x+1,n]有多個比y小,[1..x-1]直接有多個比y大. 插入,刪除操作
Time of Update: 2018-07-26
type example struct { a int b string} 列印 example 結構體的執行個體。 p := example{1, 2} fmt.Printf(“%v\n”, p) 如果值是一個結構體,%+v 的格式化輸出內容將包括結構體的欄位名。 fmt.Printf(“%+v\n”, p) %#v 形式則輸出這個值的 Go 文法表示。例如,值的運行原始碼片段。 fmt.Printf(“%#v\n”, p) 需要列印值的類型,
Time of Update: 2018-07-26
<aop:aspectj-autoproxy proxy-target-class="true" expose-proxy="true"/> AopNamespaceHandler 註冊AspectJAutoProxyBeanDefinitionParser, AspectJAutoProxyBeanDefinitionParser又註冊了AnnotationAwareAspectJAutoProxyCreator。
Time of Update: 2018-07-26
Gogland 是 JetBrains 公司推出的 Go 語言整合式開發環境。Gogland 同樣基於 IntelliJ 平台開發,支援 JetBrains 的外掛程式體系。目前正式版尚未發布。官方:https://www.jetbrains.com/go/。關於使用,即將開始咯。 一、安裝Golang 1) 首先到https://golang.org/dl/選擇適合你系統的安裝包,(牆內:http://golangtc.com/download)。
Time of Update: 2018-07-26
GOROOT就是go的安裝路徑 在~/.bash_profile中添加下面語句: GOROOT=/usr/local/goexport GOROOT 當然, 要執行go命令和go工具, 就要配置go的可執行檔的路徑: 操作如下: 在~/.bash_profile中配置如下:export $PATH:$GOROOT/bin 如果是windows需要使用;符號分割兩個路徑, mac和類unix都是用:符號分割 GOPATH: go install/go
Time of Update: 2018-07-26
Go 命令列參數及標準輸入輸出 標籤(空格分隔): Go 1.Go 命令列參數的使用 Go的命令列參數儲存在切片 os.Args 當中,可以說和python的命令列參數非常相似 fmt.Println(os.Args)//列印切片內容for i := 0; i < len(os.Args); i++ { fmt.Println(os.Args[i])} 其中第一個參數為可執行檔的名字,其他的參數都是以字串的形式,儲存在slice os.
Time of Update: 2018-07-26
1. 變數 1.1 變數聲明 Go 同其他語言不同的地方在於變數的類型在變數名的後面。不是:int a,而是 a int。當定義了一個變數,它預設賦值為其類型的 null 值。這意味著,在 var a int後,a 的值為 0。而 var s string,意味著 s 被賦值為零長度字串,也就是 ""。 變數有兩種聲明方式。 第一種使用var關鍵字聲明一個變數,再給這個變數賦值。 func main() {var a int ;a =
Time of Update: 2018-07-26
最近試著最佳化掉一些小對象分配,發現一個很詭異的問題:這段代碼會在堆上指派至。 package mainimport ( "fmt")func main() { var a [1]int c := a[:] fmt.Println(c)} 看彙編代碼 go tool compile -S test.golang"".main t=1 size=336 value=0 args=0x0 locals=0x98
Time of Update: 2018-07-26
直接搜尋‘o’周圍有沒有'.'有的話Can kill in one move!!!, 沒有就Can not kill in one move!!!。 水題。。。 #include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;char a[15][15];int vis[15][15];int fx[4][2]={{1,0
Time of Update: 2018-07-26
DEDE文章點擊圖片自動進入下一頁的方法,我看好多朋友都想要,好像論壇都沒有人出個方法。 今天我因為需要這個功能,所以試著弄了一下,方法如下: 修改 include/arc.archives.class.php 1.尋找“//解析模板,對內容裡的變動進行賦值”在這段話上面添加以下代碼 : function ClickPicNext($ismake=1,$aid,&$body) { global $cfg_rewrite;
Time of Update: 2018-07-26
Go語言基礎 本節將介紹如何定義變數、常量、Go語言內建類型及Go語言程式設計中的一些技巧。 定義變數 Go語言裡面定義變數有多種方式。 使用var關鍵字是Go語言最基本的定義變數方式,與C語言不同的是Go語言把變數類型放在變數名後面,如下所示。 //定義一個名稱為“variableName”,類型為"type"的變數 var variableName type — 定義多個變數。
Time of Update: 2018-07-26
go build,是我們非常常用的命令,它可以啟動編譯,把我們的包和相關的依賴編譯成一個可執行檔檔案。usage: go build [-o output] [-i] [build flags] [packages] go build的使用比較簡潔,所有的參數都可以忽略,直到只有go build,這個時候意味著使用目前的目錄進行編譯,下面的幾條命令是等價的:go buildgo build .go build
Time of Update: 2018-07-26
為什麼使用命令列大型項目中少不了資料升級,如果採用web服務,一來不夠安全,二來資料量大的時候也會出逾時的情況。這時使用命令列是比較合適的方式了。命令列中的MVCweb項目一般採用MVC模式,對於命令列有嗎?對於命令列則有command(命令)和flag(參數),golang內建了flag包,不過功能不夠強大,這裡我們使用第三方包cobracobra 的使用具體用法可以參考官方文檔,我就不細說了。妙用按照官方的結構,不好實現自動註冊,每次增加新的命令或檔案夾不好管理,需要改動代碼。經過一番思考,
Time of Update: 2018-07-26
需要先安裝 gometalinter工具#!/bin/bash#should install#go get github.com/alecthomas/gometalinter#gometalinter --install --updateCURDIR="$( cd "$( dirname "$0" )" && pwd )"export GOPATH=$CURDIR/..echo
Time of Update: 2018-07-26
並發本身並不複雜,但是因為有了資源競爭的問題,就使得我們開發出好的並發程式變得複雜起來,因為會引起很多莫名其妙的問題。package mainimport ( "fmt" "runtime" "sync")var ( count int32 wg sync.WaitGroup)func main() { wg.Add(2) go incCount() go incCount()