爲什麼創造了golang?
- 計算機硬件技術更新頻繁,不能合理運用多核多CPU的的優勢
- 目前市場缺乏一款簡潔高效的編程語言
- c++、c運行速度很快,但存在內存泄漏的問題
go語言特點
既做到了靜態語言的安全和性能,又達到了動態語言的開發維護高效性(c+python)
- 天然併發
- 語言層面支持併發
- goroutine,輕量級線程
- 基於CPS併發模型實現
- 自動垃圾回收機制
- 引入了包的概念
- 新特性(切片slice、延時執行defer)
- 從c語言中繼承了很多理念(指針)
- 函數可以返回多個值
- 吸收了管道通信機制,形成了go語言特有的管道通過管道channel,可以實現不同goroute之間的通信
下載與安裝
-
GOROOT:安裝路徑/go
-
PATH:添加的go/bin目錄(%GOROOT%\bin)
-
GOPATH: 工作路徑
3.測試(go version)
運行go文件方式
- 直接運行: go run test.go
- 編譯運行:go build test.go
- 生成指定文件名編譯運行:go build -o mytest.ext test.go
注意事項
- go源文件以go爲擴展名
- go應用程序入口是main函數
- 嚴格區分大小寫
- go編譯器是一行行執行
- 定義的變量或引用的包沒有被使用,編譯不通過
- 括號是成對存在的
轉義字符
- \\ :一個\
- \":一個"
- \n:換行
- \t:製表符 tab
- \r:後邊覆蓋前邊內容
代碼規範
- gofmt test.go :格式化
- tab:縮進
- shift+tab:向左縮進
- 一行不超過80個字符,超過換行\n
Dos指令
- dir:查看當前目錄
- cd /d f: :從d盤切到f盤
- cd :切到其他目錄
- cd ..:切到上一級
- cd \ :切到根目錄
- md dir:新建文件夾
- md dir1 dir2:新建多個文件夾
- rd:刪除文件夾
- rd /q/s dir:刪除文件夾下所有的內容 /s:不詢問
- cls:清屏
- echo 'test' > test.txt :新建test文件
- echo 'test122' >> test.txt :追加內容到test文件
- copy test.txt test1.txt:複製文件
- move test.txt ./dir/test.txt :移動文件
- del tes.txt:刪除文件
- del *.txt :刪除所有txt擴展名的文件