原创 docker、docker-compose、docker swarm和k8s的區別

Docker Docker 這個東西所扮演的角色,容易理解,它是一個容器引擎,也就是說實際上我們的容器最終是由Docker創建,運行在Docker中,其他相關的容器技術都是以Docker爲基礎,它是我們使用其他容器技術的核心。 Docker

原创 第1章 ssh命令和SSH服務詳解

  本文對SSH連接驗證機制進行了非常詳細的分析,還詳細介紹了ssh客戶端工具的各種功能,相信能讓各位對ssh有個全方位較透徹的瞭解,而不是僅僅只會用它來連接遠程主機。 另外,本人翻譯了ssh客戶端命令的man文檔,如本文有不理解的地方,可

原创 Go 語言實戰(9):指針、引用和值

在經過編寫 CLI 程序的嘗試之後,我們繼續回來聊 Go 語言的基礎知識。 相信實際寫過一些代碼之後,會更容易理解。 原計劃這期聊 數組和切片。考慮到聊切片時,無論如何繞不開指針和引用的話題,乾脆提到前面來。 目錄 [TOC] 指針 指針

原创 Go 學習筆記(65)— Go 中函數參數是傳值(函數參數爲數組、切片、map、chan、struct 等)

Go 語言中,函數參數傳遞採用是值傳遞的方式。所謂“值傳遞”,就是將實際參數在內存中的表示逐位拷貝到形式參數中。對於像整型、數組、結構體這類類型,它們的內存表示就是它們自身的數據內容,因此當這些類型作爲實參類型時,值傳遞拷貝的就是它們自

原创 自定義Go Json的序列化方法

編譯自 Custom JSON Marshalling in Go。 我們知道,通過tag,可以有條件地實現定製Go JSON序列化的方式,比如json:",omitempty", 當字段的值爲空的時候,我們可以在序列化後的數據中不包含這

原创 Go 學習筆記(3)— 包概念、包特點、包名約束、main 包、包的聲明、包的引用、包初始化

1. 包的概念 Go 語言是使用包來組織源代碼的,並實現命名空間的管理。任何源代碼文件必須屬於某個包。源碼文件的第一行有效代碼必須是 package pacakgeName 語句,通過該語句聲明自己所在的包。   2. 包的特徵 所有的

原创 【Go語言入門】一文搞懂Go語言的最新依賴管理:go mod的使用

一文搞懂Go語言的最新依賴管理:go mod的使用 2.1 背景 Go 依賴管理的演進經歷了以下 3 個階段: 目前被廣泛應用的是 Go Module,整個演進路線主要圍繞實現兩個目標來迭代發展: 不同環境 (項目) 依賴的版本不同

原创 配置 1.13+ 的 golang 環境

以前寫過《配置 Golang 開發環境》(go < 1.13, win64)。然後 1.13 是一個重大變更,大到需要原有的依賴管理要做遷移的程度(《golang 1.13 - 依賴管理從 dep 到 mod 踩坑》)。 1.13 讓原來的

原创 配置 Golang 開發環境 go1.11以下版本

爲想嘗試 Go 的朋友開個頭,介紹環境的配置。語言的優缺點不在此展開。 因身邊多數使用 Win64 環境,以下無特殊說明均以 Win64 爲例,日後有需要再補充其他平臺部分。 1. Go 下載:https://golang.org/dl

原创 Go基礎系列:import導包和初始化階段

  import導入包 搜索路徑 import用於導入包: 1 2 3 4 5 import ( "fmt" "net/http" "mypkg" ) 編譯器會根據上面指定的相對路徑去搜索包然後導入,這個相對路

原创 Go基礎系列:構建go程序

  hello world 從一個簡單的程序開始解釋,將下面的內容放進test.go文件中,路徑隨意: package main import ( "fmt" ) func main() { fmt.Printl

原创 golang 基礎之 import 詳解

import golang 中的模塊是通過 package 進行組織管理的,通過 import 進行導入的 幾種包的導入形式: 導入標準庫 import "fmt",是最常用導入標準的形式 import f "fmt",爲標準庫起一

原创 golang 1.13 - module VS package 講的很清楚

在寫 《配置 1.13+ 的 golang 環境》時,花了大量篇幅解釋 module 的概念,還有 module 與 package 之間的聯繫。眼看字數翻了一番,乾脆把這部分另起一篇。 module 與 package 0x0 modu

原创 【Go】函數、方法和接口

1.0  函數、方法和接口 具名函數一般對應於包級的函數,是匿名函數的一種特例,當匿名函數引用了外部作用域中的變量時就成了閉包函數閉包函數是函數式編程語言的核心。 方法是綁定到一個具體類型的特殊函數,Go語言中的方法是依託於類型的,必須在

原创 Go語言入門 (Day 2) 流程控制語句

Go 流程控制語句:for、if、else、switch 和 defer § for Go 只有一種循環結構:for 循環。 基本的 for 循環由三部分組成,它們用分號隔開: 初始化語句:在第一次迭代前執行 條件表達式,則前後的;會