原创 go語言數值類型及布爾類型

常量 常量聲明常量是程序在編譯時就確定的值,程序在執行時不能修改常量的值。聲明常量使用關鍵字const。在聲明常量時,需要對常量賦值。const 名稱 類型 = 值 或const 名稱 = 值 自動做類型推斷 const aa int =

原创 go語言中linkname的用法

這篇文章主要介紹了go語言中linkname的用法,本文給點俺家介紹的非常詳細,具有一定的參考借鑑價值,需要的朋友可以參考下 在go語言的源碼中,會發現很多,代碼只有函數簽名,卻看不到函數體,如: // sr

原创 go程序調試

調試程序是程序猿的一項必備技能,有多種手段來調試程序,如打印控制檯輸出,查看日誌,以及設置斷點,使用debug做單步跟蹤進去調試。這篇文章主要從go使用debug爲題進行展開。 GDB 介紹GDB是GNU開源組織發佈的一個強大的UNIX下的

原创 使用sublime打造go語言的開發環境

工欲善其事,必先利其器。作爲一個碼農,編輯器是我們每天用的最多的工具。那麼怎麼構建一個go語言環境的編輯器呢?因爲習慣輕量的sublime,不太喜歡繁重的IDE,就將自己的sublime編輯器打造爲適合go語言開發的IDE。sublime是

原创 go語言環境搭建

安裝 軟件的安裝常用三種方式1. 在線安裝這種安裝方式是通過系統提供的安裝工具,自動下載安裝包,並自動安裝到系統的固定目錄下2. 離線二進制安裝通過手動下載官方提供編譯好的二進制執行程序壓縮包,在本地手動的解壓到指定的目錄下,並將可執行程序

原创 由一個問題引發對文件描述符的研究

故事的起因 一次一個同事給我發了一段簡單的代碼,問我這段代碼有什麼問題? package main import ( "fmt" "os" ) func main() { f, err := os.Open("/

原创 go設計模式之代理模式

代理在計算機領域是個經常被提及的名詞,如nginx就常被用於webf服務的代理。那麼怎麼實現代理這種模式?定義一個接口,定義要代理的執行的方法定義一個真正執行類,實現接口定義的方法定義代理類,實現接口定義的方法,在代理中,通過調用真正執行方

原创 go設計模式之外觀模式

這篇是設計模式中結構模式的第一篇。微服務架構現在是系統的架構的主流,它將系統拆分成一個個獨立的服務,服務之間通過通信建立起關聯關係。假設現在有一個博客的系統,它由四個微服務組成。用戶服務,文章管理服務,分類服務,評論服務。系統的微服務間會發

原创 go設計模式之建造者模式

這是要寫的創建類模式最後一篇,先看下,建造者模式的定義吧。將一個複雜對象的構造與它的表示分離,使同樣的構建過程可以創建不同的表示。看到這個定義有點難懂,建造者有以下幾個角色。Product 這是我們要創建的複雜對象(一般都是很複雜的對象才需

原创 go設計模式之原型模式

原型在IT領域常被提及,那麼什麼是原型?就產品設計來舉例吧,在產品開發中,產品經理需要根據業務,畫出一個產品原型圖,然後設計,根據產品原型圖畫出設計圖,前端工程師根據設計圖進行將設計圖變爲計算機可執行的代碼。這大概是一個產品開發的流程。在這

原创 go設計模式之抽象工廠

在上一篇文章中,通過手機的例子對工廠方法進行了展開。製造商不單單隻生產手機這一種產品,同時也生產pc,如果工廠擴展其它業務,工廠方法模式就不適用了。爲了實現工廠擴展其它業務這個需要,通過抽象工廠這種模式實現這個需要。以下就是實現的代碼pac

原创 go設計模式之簡單工廠

簡單工廠是設計模式中最簡單的一創建類型模式,通過一個手機的例子,來展示該模式的使用。先來看下類圖的實現接口:Phone interface實例:IPhone, XiaoMI, huawei方法:showBrand()實現代碼如下:packa

原创 go語言學習之開發工具使用(二)

go的文件系統GOROOT 目的是設置go的安裝位置,編譯時從GOROOT去找SDK的system library。GOPATH 必須有以下三個目錄:src:存放源代碼的目錄,比如 .go ,.h,.c。pkg:編譯後生成的文件,比如 .a

原创 安全通信TLS介紹

理論基礎現在我們每天都離不開網絡,計算機之間的通信安全是怎麼保證的。在這篇文章中,將介紹TLS技術是怎麼爲安全的通信保駕護航的。爲了能夠使理論知識更夠通俗易懂,在此,設計一個場景。小明和小花早戀,他們常通過鴻雁傳書進行書信往來。最初,小明將