原创 十一、結構體嵌入

1.命名嵌入 結構體命名嵌入是指結構體中的屬性對應的類型也是結構體 package main import "fmt" type Addrs struct { Region string Street string

原创 九、包

包是函數和數據的集合,將有相關特性的函數和數據放在統一的文件/目錄進行管理,每個包都可以作爲獨立的單元維護並提供給其他項目進行使用 1. 聲明 Go 源文件都需要在開頭使用 package 聲明所在包,包名告知編譯器哪些是包的

原创 Kubernetes—部署自動化平臺(Jenkins)

1.項目發佈方案概述 (1)藍綠髮布 項目邏輯上分爲AB組,在項目升級時,首先把A組從負載均衡中摘除,進行新版本的部署。B組仍然繼續提供服務。A組升級完成上線,B組從負載均衡中摘除。 特點: • 策略簡單 • 升級/回滾速度快 •

原创 十九、Strings/Bytes

1.Strings strings 包提供操作 UTF-8 字符串常用函數和結構體 a) 常用函數 ⚫ Compare:比較字符串 ⚫ Contains:是否包含子字符串 ⚫ Count:子字符串出現次數 ⚫ EqualFold:

原创 go調用jenkins api

go 調用jenkins的api來幫我們實現一部分操作 適用於批量執行同一個任務 亦或者要結合cmdb package main import ( "fmt" "github.com/bndr/gojenkins" "lo

原创 基於docker環境構建jenkins CI/CD

實驗環境: 192.168.74.237 jenkins、git客戶端 192.168.74.230 git倉庫、harbor倉庫 官網: Docker官網https://www.docker.com/

原创 Kubernetes—部署日誌收集系統(ELK)

使用ELK Stack收集K8S平臺日誌 1.收集哪些日誌 • K8S系統的組件日誌 • K8S Cluster裏面部署的應用程序日誌 標準輸出 日誌文件 2.ELK Stack日誌方案 方案一:Node上部署一個日誌收集程

原创 十七、帶緩衝的IO

1.簡介 bufio 包提供緩衝流的功能 a) 常用結構體 ⚫ Reader 常用函數 ➢ NewReader:創建緩衝輸入流 常用方法 ➢ Read:讀取數據到切片中 ➢ ReadLine:讀取一行內容到字節切片中 ➢ Read

原创 二十、接口的應用示例(便於理解使用場景)

多雲平臺 或者不同平臺的服務器信息 操作相同只是平臺不同 就可以用接口來做 package main import ( "fmt" ) type Cloud interface { GetHost() []Host St

原创 Go練習題(9)

在之前的用戶管理的基礎上使用Json做持久化 目錄節構都一致 方法一: //main.go package main import ( "fmt" "github.com/strive-after/users/lib" )

原创 Go練習題(4)

在練習題3的基礎上 //一個用戶管理系統 /*需要提供的功能 1.添加用戶 2.刪除用戶 3.修改用戶信息 4.查詢用戶信息 */ 1.創建module 用戶管理放子包中 2.密碼明文,命令行輸入明文 密碼輸入 gopass 代

原创 Go練習題(6)

1.copy文件 (1)小文件 package main import ( "flag" "fmt" "io/ioutil" "os" ) func copyfile(src,desc string) { srcfi

原创 G練習題(7)

實現目錄的複製(copy) package main import ( "bufio" "flag" "fmt" "io" "io/ioutil" "os" "path/filepath" ) func copy

原创 二十二、併發編程

1.併發編程基本概念 併發編程開發將一個過程按照並行算法拆分爲多個可以獨立執行的代碼塊,從而充分利用多核和多處理器提高系統吞吐率 順序、併發與並行 順序是指發起執行的程序只能有一個 併發是指同時發起執行(同時處理)的程序可以有多個

原创 Go-簡易聊天室

使用go寫多人簡易聊天室 server.go ```bash ```bash ```go package main import ( "bufio" "fmt" "log" "net" //"os" ) typ