Time of Update: 2016-09-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。如題,post發送資料有幾種形式,form和流是最常用的。特別是在程式裡使用httpclients,一般都算通過流發送。在php裡,是通過php://input來擷取的。在gin中,可以通過c.Request.Body.Read(buf)。具體代碼如下:package mainimport
Time of Update: 2016-09-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1. 產生私密金鑰openssl genrsa -out key.pem 20482. 產生認證openssl req -new -x509 -key key.pem -out cert.pem -days 10953. 服務端代碼:package mainimport ( "fmt" "log" "net/http")func test(w http.ResponseWriter,
Time of Update: 2016-09-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在golang中package是個困惑的概念, 特別是package還可以與folder不同名, 委實讓我噁心了一把.關於golang的package的最佳實務:package is folder.package name is folder name.package path is folder path.信耶穌得永生! 1. 同一個folder存在不同package, 編譯錯誤:D:/go/bin/go.exe build [
Time of Update: 2016-09-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。之前說到Golang中某些類型可以賦值nil, 某些類型不能賦值nil.不能賦值nil都是initialized value不為nil的類型, 例如:boolint, intNuint, uintNfloatNcomplexNbyte,runestringstruct可以賦值nil都是initialized value為nil的類型,
Time of Update: 2016-09-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在golang中, 函數是第一類值(first-class object), 即函數可以賦值與被賦值. 換言之, 函數也可以作為ReceiverType, 定義自己的method. 執行個體:http.HandleFunc(pattern string, handler func(ResponseWriter, *Request))就是使用上述思想實現.type HandlerFunc func(ResponseWriter, *
Time of Update: 2016-09-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。用Golang與perl指令碼比較, 初想至多差一倍吧...結果可不是一般的坑爹, 簡直就是坑爺了.Perl指令碼#!/bin/bashsource /etc/profile;function extractAndZip(){ _debug "$FUNCNAME,$@"; local logFile="${2}" local gzipFile="${
Time of Update: 2016-09-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1. 用於數組: 表示長度與元素個數相同. 在golang中數組的長度是類型的一部分,不同長度,不同類型.2. 用於參數: 用於形參表示可變參數. 用於實參表示直接傳遞. 具體解釋參數見官方文檔: 傳遞可變參數時: (1) 如果實參後不跟..., 則在底層建立與形參類型相同的slice,然後將實參賦值後傳遞. (2) 如果實參後跟..., 則不在底層建立與形參類型相同的slice,而是直接將實參傳遞給形參.
Time of Update: 2016-09-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1. 在golib下載go-sql-driver/mysqlgo get github.com/go-sql-driver/mysql2. 代碼引入import ("database/sql""github.com/go-sql-driver/mysql")3. 建立DB?db, err := sql.Open("mysql", "user:password@/dbname&
Time of Update: 2016-09-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。SemicolonsThe formal grammar uses semicolons ";" as terminators in a number of productions. Go programs may omit most of these semicolons using the following two rules:When the input is broken into tokens, a
Time of Update: 2016-09-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。// Copyright 2009 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.// taken from
Time of Update: 2016-09-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go語言追求簡潔優雅,所以,Go語言不支援傳統的 try…catch…finally 這種異常,因為Go語言的設計者們認為,將異常與控制結構混在一起會很容易使得代碼變得混亂。因為開發人員很容易濫用異常,甚至一個小小的錯誤都拋出一個異常。在Go語言中,使用多值返回來返回錯誤。不要用異常代替錯誤,更不要用來控制流程程。在極個別的情況下,也就是說,遇到真正的異常的情況下(比如除數為
Time of Update: 2016-09-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1、建構函式定義 建構函式 ,是一種特殊的方法。主要用來在建立對象時初始化對象, 即為對象成員變數賦初始值,總與new運算子一起使用在建立對象的語句中。特別的一個類可以有多個建構函式 ,可根據其參數個數的不同或參數類型的不同來區分它們 即建構函式的重載。 而golang沒有相關的建構函式定義,只能通過new來建立建構函式。 2、建構函式聲明 聲明一個struct結構: 聲明一個全域函數,返回*struct
Time of Update: 2016-09-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在c#、java等進階語言中,經常會用到枚舉類型來表示狀態等。在golang中並沒有枚舉類型,如何?枚舉呢?首先從枚舉的概念入手。 1、枚舉類型定義 從百度百科查詢解釋如下:http://baike.baidu.com/link?url=Lrq57-YIZJ35grERvdg2kh7lfGfxvvLCVsNBMAqjBUOQX3CJUYnJp-9oZ2-rf3JGMqL3e4RbnSRQWs_5nmaI6K
Time of Update: 2016-09-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。使用指派陳述式可以更新一個變數的值,最簡單的指派陳述式是將要被賦值的變數放在=的左邊,新值的運算式放在=的右邊。 x = 1 // 命名變數的賦值*p = true // 通過指標間接賦值person.name = "bob" // 結構體欄位賦值count[x] = count[x] * scale // 數組、
Time of Update: 2016-09-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Try using this URL as a Eclipse Software Site:https://raw.githubusercontent.com/GoClipse/goclipse.github.io/0.16.0/releases/It should allow you to install 0.16.0 (or a diff version if you change the
Time of Update: 2016-09-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。//本程式 主要功能是把A檔案夾下的檔案與B目錄下檔案對比,如果找到就覆蓋到B相應的目錄下。 // 用法: merge A目錄 B目錄 // merge.gopackage mainimport ( "flag" "fmt" "os" "path/filepath" "strings" "time
Time of Update: 2016-09-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。免責聲明:本文只是從技術的角度去探討遊戲當中的缺陷,任何組織與個人不得利用本文中的內容從事非法活動,請不要傳播或利用本文中提到的漏洞,否則後果自負。Pokemon Go是最近比較流行的基於AR和LBS的收集向遊戲,老牌IP號召了一票玩家。遊戲目前bug較多,這裡討論的是0.29.0版本以及在安卓平台下的反mock
Time of Update: 2016-09-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 go的應用情境更多情況下應用於後台,也可以用於開發web。後台和web都是用到net和net/http模組,而開發web則還需要html/template模組。當然了實際使用中html/template雖然可以滿足很多的要求,但是如果需要快速方便的開發,還可以使用web架構進行更加快捷的開發。這裡推薦使用國人開發的beego架構。
Time of Update: 2016-09-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Try using this URL as a Eclipse Software Site:https://raw.githubusercontent.com/GoClipse/goclipse.github.io/0.16.0/releases/It should allow you to install 0.16.0 (or a diff version if you change the
Time of Update: 2016-09-10
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。可以看優酷視頻,qq視頻好像有點問題package main import ( "io" "io/ioutil" "log" "net/http" "os" "fmt") func handler(w http.ResponseWriter, r *http.Request) { var (