慕課網《Go實戰仿百度雲盤 實現企業級分散式雲端儲存系統》學習筆記 1
學習資料下載Go實戰仿百度雲盤 實現企業級分散式雲端儲存系統
一 應用場景描述
為什麼想著要學習一下Go語言?現在越來越多有名的開源專案都是使用Go語言開發的,所以瞭解一下Go語言的基礎知識還是很有必要的。平時的工作中主要使用Shell和Python來編寫運維指令碼。之前已經看過無數次關於Go語言的介紹和分享帖子了。對於Go語言這種效能僅次於C和C++的後起之秀,同時又比Python這種膠水語言效能提高不少。如果以後工作中如果有需要處理效能方面的問題就可以使用Go來編寫。
二 使用Go語言編寫的專案
目前比較出名的使用Go語言編寫的專案有:
Docker 開源容器
Open Falcon 小米的開源監控工具
Codis 豌豆莢的Redis解決方案,Codis的好幾個元件都是用Go語言編寫的
Ected 和ZooKeeper同類工具
Kubernetes 谷歌開源的容器排程工具
三 Go語言基礎學習
測試Go語言程式之前先安裝Go語言。
CentOS 使用yum -y install go安裝
1.列印Hello World!
package main
import "fmt"
func main(){
fmt.Println("hello world!")
}
go run hello-world.go
hello world!
go build hello-world.go
ls
hello-world hello-world.go
./hello-world
hello world!
2.賦值型別
package main
import "fmt"
func main() {
fmt.Println("go" + "lang")
fmt.Println("1+1 =",1+1)
fmt.Println("7.0/3.0 =",7.0/3.0)
fmt.Println(true&&false)
fmt.Println(true||false)
fmt.Println(!true)
}
go run values.go
golang
1+1 = 2
7.0/3.0 = 2.3333333333333335
false
true
false
3.變數
package main
import "fmt"
func main() {
var a string = "initial"
fmt.Println(a)
var b,c int = 1,2
fmt.Println(b,c)
var d=true
fmt.Println(d)
var e int
fmt.Println(e)
f := "short"
fmt.Println(f)
}
go run variable.go
initial
1 2
true
0
short
4.常量
package main
import "fmt"
import "math"
const s string = "constant"
func main() {
fmt.Println(s)
const n = 500000000
const d = 3e20 /n
fmt.Println(d)
fmt.Println(int64(d))
fmt.Println(math.Sin(n))
}
go run constant.go
constant
6e+11
600000000000
-0.2847040732381611
5.for迴圈
for語句是Go語言唯一的迴圈語句
package main
import "fmt"
func main() {
i :=1
for i <= 3 {
fmt.Println(i)
i = i+1
}
for j :=7;j <= 9; j++ {
fmt.Println(j)
}
for {
fmt.Println("loop")
break
}
}
go run for.go
1
2
3
7
8
9
loop
6.if/else語句
package main
import "fmt"
func main() {
if 7%2 == 0 {
fmt.Println("7 is even")
}else{
fmt.Println("7 is odd")
}
if 8%4 == 0 {
fmt.Println("8 is divisible by 4")
}
if num := 9;num < 0 {
fmt.Println(num,"is negative")
}else if num < 10 {
fmt.Println(num,"has 1 digit")
}else {
fmt.Println(num,"has multiple digits")
}
}
這裡注意else語句的語句不能寫成
}
else {
一定要寫成 }else { 這種形式
go run if.go
7 is odd
8 is divisible by 4
9 has 1 digit
7.switch語句
package main
import "fmt"
import "time"
func main() {
i :=2
fmt.Print("write",i," as ")
switch i {
case 1:
fmt.Println("one")
case 2:
fmt.Println("two")
case 3:
fmt.Println("three")
}
switch time.Now().Weekday() {
case time.Saturday, time.Sunday:
fmt.Println("it's the weekend")
default:
fmt.Println("it's a weekday")
}
t := time.Now()
switch{
case t.Hour() < 12:
fmt.Println("it's before noon")
default:
fmt.Println("it's after noon")
}
}
go run switch.go
write2 as two
it's a weekday
it's after noon
8.陣列
package main
import "fmt"
func main() {
var a [5]int
fmt.Println("emp:",a)
a[4] = 100
fmt.Println("set:",a)
fmt.Println("get:",a[4])
b := [5]int{1,2,3,4,5}
fmt.Println("dc1:",b)
var twoD [2][3]int
for i :=0;i < 2;i++ {
for j := 0; j < 3; j++ {
twoD[i][j] = i + j
}
}
fmt.Println("2d: ",twoD)
}
go run arrays.go
emp: [0 0 0 0 0]
set: [0 0 0 0 100]
get: 100
dc1: [1 2 3 4 5]
2d: [[0 1 2] [1 2 3]]
9.切片
相關文章
- 企業雲盤專業級分散式儲存伺服器分散式伺服器
- 最新最全慕課網實戰教程-百度雲盤-破解視訊
- 如何實現企業雲盤資料化儲存
- 雲端儲存服務企業就在企業雲盤
- GlusterFS分散式儲存學習筆記分散式筆記
- Longhorn,企業級雲原生容器分散式儲存 - 支援 ReadWriteMany (RWX) 工作負載(實驗性功能)分散式負載
- 雲端計算學習路線教程大綱課堂筆記:構建企業級WIKI及工單系統筆記
- Longhorn,企業級雲原生容器分散式儲存 - 備份與恢復分散式
- DDD實戰課(實戰篇)--學習筆記筆記
- 分散式系統學習筆記分散式筆記
- Longhorn,企業級雲原生容器分散式儲存 - 監控(Prometheus+AlertManager+Grafana)分散式PrometheusGrafana
- Longhorn,企業級雲原生容器分散式儲存 - 定製預設設定分散式
- 企業雲盤:為什麼說企業雲盤是企業儲存的首選
- kubernetes學習筆記 (三):阿里雲遊戲業務實戰筆記阿里遊戲
- Longhorn 企業級雲原生分散式容器儲存-券(Volume)和節點(Node)分散式
- 分散式檔案系統HDFS,大資料儲存實戰(一)分散式大資料
- go實現簡易分散式系統Go分散式
- 阿里雲OSS雲端儲存管理實踐阿里
- 《Netty實戰》-學習筆記1Netty筆記
- Zabbix 4.0企業級分散式監控實戰分散式
- Electron+Vue實現仿網易雲音樂實戰Vue
- Longhorn,企業級雲原生容器分散式儲存 - K8S 資源配置示例分散式K8S
- 【大資料】BigTable分散式資料儲存系統分散式資料庫 | 複習筆記大資料分散式資料庫筆記
- 【學習筆記之作業系統原理篇】儲存管理筆記作業系統
- 企業金融雲端儲存建設之路
- 441-慕課網實戰課-神思者-441-Java企業級支付全家桶設計與實戰-388元-完結Java
- 企業雲盤的作用不僅只是儲存
- 分散式系統中資料儲存方案實踐分散式
- go實戰web入門學習筆記GoWeb筆記
- 企業雲盤如何實現檔案共享?
- 企業雲盤助你實現高效辦公
- 哪些企業需要分散式式儲存?分散式
- SpringBoot使用阿里OSS實現檔案雲端儲存Spring Boot阿里
- 騰訊雲升級多個雲端儲存解決方案 以智慧化儲存助力企業增長
- 學習筆記(2):go輕量級分散式與微服務-實現程式的訊號通訊2筆記Go分散式微服務
- GlusterFS企業分散式儲存【轉】分散式
- 雲平臺分散式儲存池建立實施經驗分享分散式
- 大規模分散式儲存系統:原理解析與架構實戰分散式架構