Time of Update: 2018-05-16
標籤:9.png 開發環境 配置 環境變數 好用 安裝過程 技術 根據 下載 1.下載:https://studygolang.com/dl可以從這個網址下載,版本根據你的系統來:64位系統,可
Time of Update: 2018-05-17
標籤:off log 版本 pointer 兩種 因此 unknown float nbsp The unsafe Package in
Time of Update: 2018-05-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 一、問題描述http.Request 下的方法RemoteAddr() 可以擷取用戶端的地址和連接埠號碼,最近的一個項目中用到了這個方法。使用過程中一直都沒有什麼問題,但是當項目上線之後就發現不管怎麼擷取ip,用戶端地址都是127.0.0.1 。對於這個問題一直百思不得其解,最後搞了半天才發現是nginx 的原因。因為線上項目使用nginx做了反向
Time of Update: 2018-05-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 一、判斷檔案或檔案夾是否存在golang 判斷檔案或者檔案夾是否存在可以通過os.stat() 方法和os.IsExist() 方法來判斷:1234567891011121314func isExist(path string)(bool){ _, err := os.Stat(path) if err != nil{ if
Time of Update: 2018-05-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 Golang中time.Parse和time.Format的時區問題
Time of Update: 2018-05-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 一、defer概述defer 是golang 中專屬的流程式控制制語句,用於延遲指定語句的運行時機,只能運行於函數的內部,且當他所屬函數運行完之後它才會被調用。例如:1234func deferTest(){ defer fmt.Println("HelloDefer")
Time of Update: 2018-05-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。原文地址簡介最近由於要配置 nginx 伺服器,裡面有個代理轉寄(proxy_pass)的功能,能夠將當前伺服器接收到的請求轉寄給其他伺服器來處理。但是在配置當中,我發現我無法確認我的 proxy_pass 是否生效,網上現成的 echo 服務又不怎麼滿足我的要求,所以就決定自己寫一個 echo 伺服器,用 Golang。代碼代碼在這裡 echo具體的代碼就不做詳細介紹了,也就是用到了 Golang 的 http 庫,提供了一個
Time of Update: 2018-05-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 一、概述官方的math 包中提供了取整的方法,向上取整math.Ceil() ,向下取整math.Floor() 二、用法12345678910package mainimport ( "fmt" "math")func main(){ x := 1.1 fmt.Println(math.Ceil(x)) // 2
Time of Update: 2018-05-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 一、摘要godoc是go預設內建的一個模組,提供了go語言的文檔相關資訊,一般情況下查詢文檔可以使用godoc ** 來進行查詢。例如godoc fmt ,就會出現fmt 包相關的資訊:二、WEB版文檔其實對大部分人來說,命令列介面看起來都是不友好的,滿屏的黑屏白字就算是程式員也是會有抵觸心理。godoc提供了一個更人性化的方式——使用網頁版文檔,使用命令godoc
Time of Update: 2018-05-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
Time of Update: 2018-05-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 一、概述上一篇介紹了基本的函數和結構類型,這裡就可以開始寫服務端和用戶端通訊小程式了,通訊的基本的流程如下:如果服務端使用Listen 來監聽,那麼可以不用ResolveTCPAddr 函數。現在我們就來寫一個server和client,實現功能:client發送資料到server,server將資料轉成大寫後返回。二、服務端實現1234567891011121314151617
Time of Update: 2018-05-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 一、StructTag介紹StructTag是go語言結構體中的一個標記欄位,放在欄位聲明的後面,一般只有特定情況下會用到,如json的轉化。使用的時候只要把標記的欄位用兩個包起來即可,標籤內的文法形式通常為key:”value”` ,多個標記用空格隔開。1234type tagTest struct { tagA string `TagA` tagB int
Time of Update: 2018-05-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 一、用法range類似迭代器,可以遍曆數組,字串,map等等,對象的不同,返回的結果也不同。12345678910111213141516171819package mainimport "fmt"func main(){ //數組的遍曆 a := [3]int {1, 2, 3} for i, n := range a{ fmt.
Time of Update: 2018-05-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 一、以下代碼的輸出內容為12345678910111213package mainimport ("fmt")func main() {defer_call()}func defer_call() {defer func() { fmt.Println("列印前") }()defer func() { fmt.Println("列印中
Time of Update: 2018-05-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 0x01 什麼是逃逸第一次聽說逃逸是在雨痕學堂,一臉懵逼的百度了半天也沒找到一個明確的說法,直到昨天在論壇上看到一篇關於變數逃逸的文章才明白。因為函數都是運行在棧上的,在棧聲明臨時變數分配記憶體,函數運行完畢再回收該段棧空間,並且每個函數的棧空間都是獨立的,其他代碼都是不可訪問的。但是在某些情況下,棧上的空間需要在該函數被釋放後依舊能訪問到,這時候就涉及到記憶體的逃逸了。代碼:1
Time of Update: 2018-05-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。第二部分: Go微服務 - 構建我們的第一個服務第二部分包含:設定我們的Go工作空間。構建我們第一個微服務。通過HTTP使用Gorilla Web Toolkit來提供一些JSON服務。介紹雖然通過HTTP提供JSON服務不是內部服務和外部服務的唯一選擇,但本文聚焦的是HTTP和JSON. 使用RPC機制和二進位訊息格式(例如Protocol
Time of Update: 2018-05-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go微服務理論基礎介紹藍圖概述是我們整個系列文章中構建的系統藍圖整體視圖。然而,我們將從頭開始寫我們的第一個Go微服務,然後當我們沿著部落格系列的各部分進展時,我們將會越來越接近下面的圖所代表的結構。圖例基本如下:虛線白框: 在一個或多個節點上啟動並執行邏輯Docker Swarm叢集。藍色框: 來自Spring Cloud/Netflix OSS棧或其他服務例如Zipkin的支援服務。沙色/白盒:
Time of Update: 2018-05-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。微服務、Go語言、Docker技術也算目前比較熱門的技術話題,本人也是抱著學習的思想,整理一些學習心得,和志同道合的朋友一起探討學習一下。接下來是一系列關於Go語言微服務的系列文章。簡介為什麼是Go語言的微服務, 原因很簡單,最近對Go語言花了些時間對它進行了深入學習, 還談不上很厲害,但熱度挺高。 加上最近項目開發中使用到微服務, 所以就特意留意了Go語言微服務相關的話題。這個系列文章從微服務開始,涉及到Docker、容器編排、
Time of Update: 2018-05-16
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。上一篇回顧:Golang原生爬蟲 簡單爬蟲實現 不依賴第三方包庫 方便理解技術原理 (一) 本篇原文首發:Golang原生爬蟲 簡單爬蟲實現 不依賴第三方包庫 方便理解技術原理 (二) 程式首次執行成功後,我們已經成功擷取了源頁面所提供的連結地址。下面我們自然要做的就是通過計時器來爬抓連結清單裡的地址。 下一步就是要通過地址清單裡的地址逐一爬抓,去掉已經爬抓過的練級,並記錄新的有效連結到地址清單裡。
Time of Update: 2018-05-16
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。上一篇回顧:Golang原生爬蟲 簡單爬蟲實現 不依賴第三方包庫 方便理解技術原理 (一) 本篇原文首發:Golang原生爬蟲 簡單爬蟲實現 不依賴第三方包庫 方便理解技術原理