go語言入門(1)


1,Go語言的核心開發團隊-三個大牛

Ken Thompson(肯·湯普森):1983年圖靈獎(Turing Award)和1998年美國國家技術獎(National Medal of Technology)得主。他與Dennis Ritchie是Unix的原創者。Thompson也發明了后來衍生出C語言的B程序語言,同時也是C語言的主要發明人。

Rob Pike(羅布·派克):曾是貝爾實驗室(Bell Labs)的Unix團隊,和Plan9操作系統計划的成員。他與Thompson共事多年,並共創出廣泛使用的UTF-8字元編碼。

Robert Griesemer:曾協助制作Java的HotSpot編譯器,和Chrome瀏覽器的JavaScript引擎V8。

2,Go語言特點或優勢

1)可直接編譯成機器碼,不依賴其他庫,glibc的版本有一定要求,部署就是扔一個文件上去就完成了;

2)Go 語言是既能到達靜態編譯語言的安全和性能,又達到了動態語言開發維護的高效率,靜態類型的語言就是可以在編譯的時候檢查出來隱藏的大多數問題,動態語言的感覺就是有很多的包可以使用,寫起來的效率很高;

3)天然並發(重要特點);

(1)從語言層面支持並發,實現簡單
(2)goroutine,輕量級線程,可實現大並發處理,高效利用多核。
(3)基於CPS並發模型(Communicating Sequential Processes)實現

4)內置runtime,支持垃圾回收

5)從C語言中繼承了很多理念,包括表達式語法,控制結構,基礎數據類型,調用參數傳值,指針等等,也保留了和C語言一樣的編譯執行方式及弱化的指針,並且內嵌C支持,Go里面也可以直接包含C代碼,利用現有的豐富的C庫;

  //go 語言的指針的使用特點(體驗)
  func testPtr(num*int){
    *num=20
  }

6)引入包的概念,用於組織程序結構,Go 語言的每一個文件都要歸屬於一個包,而不能單獨存在

7)新的創新:比如切片slice、延時執行defer。

3,安裝開發環境

SDK 下載地址:Golang 中國 https://www.golangtc.com/download

其中bin目錄下就是go的指令,src目錄下就是源代碼

 使用go.exe可以編譯和運行我們的go源碼

添加環境變量

測試

 4,hello world測試

1)開發時,先建立相對規范的目錄結構

 2)編寫代碼(這里使用的編輯工具是VSCoce,https://code.visualstudio.com/download)

(1)go文件的后綴是.go
(2)package main表示該hello.go文件所在的包是main,在go中,每個文件都必須歸屬於一個包。
(3)import“fmt”
  表示:引入一個包,包名fmt,引入該包后,就可以使用fmt包的函數,比如:fmt.Println
(4)func main(){
  }

  func是一個關鍵字,表示一個函數。
  main是函數名,是一個主函數,即我們程序的入口。
(5)fmt.Println(“hello, world”)
  表示調用fmt包的函數Println輸出“hello,world”

 3)通過go build命令對該go文件進行編譯,生成.exe文件

4)運行hello.exe文件即可

5)注意:通過go run命令可以直接運行hello.go程序[類似執行一個腳本文件的形式]

Go語言中包含了大量用於處理Go語言代碼的命令和工具。其中,go命令就是最常用的一個,它有許多子命令。這些子命令都擁有不同的功能,如下所示。
    build:用於編譯給定的代碼包或Go語言源碼文件及其依賴包。
    clean:用於清除執行其他go命令后遺留的目錄和文件。
    doc:用於執行godoc命令以打印指定代碼包。
    env:用於打印Go語言環境信息。
    fix:用於執行go tool fix命令以修正給定代碼包的源碼文件中包含的過時語法和代碼調用。
    fmt:用於執行gofmt命令以格式化給定代碼包中的源碼文件。
    get:用於下載和安裝給定代碼包及其依賴包(提前安裝git或hg)。
    list:用於顯示給定代碼包的信息。
    run:用於編譯並運行給定的命令源碼文件。
    install:編譯包文件並編譯整個程序。
    test:用於測試給定的代碼包。
    tool:用於運行Go語言的特殊工具。
    version:用於顯示當前安裝的Go語言的版本信息。

5,Golang執行流程分析

 

 

 有了go源文件,通過編譯器將其編譯成機器可以識別的二進制碼可執行文件,即可以直接運行的文件。

6,go程序開發注意事項

1)Go源文件以"go”為擴展名。

2)Go 應用程序的執行入口是main()函數。

3)Go 語言嚴格區分大小寫。

4)Go方法由一條條語句構成,每個語句后不需要分號(Go語言會在每行后自動加分號),這也體現出Golang的簡潔性。

5)Go編譯器是一行行進行編譯的,因此我們一行就寫一條語句,不能把多條語句寫在同一個,否則報錯

6)go語言定義的變量或者import的包如果沒有使用到,代碼不能編譯通過。

7,go語言的轉義字符(escape char)

1)t:表示一個制表符,通常使用它可以排版。
2)n:換行符
3):一個\
4":一個"
5)r:一個回車

8,注釋和代碼規范

1)行注釋

//注釋內容

2)塊注釋(多行注釋)

/*
注釋內容
*/

對於代碼的規范,可以看源碼,或者用gofmt命令 來進行格式化

gofmt hello.go

9,API查詢和論壇

https://go-zh.org/

https://studygolang.com/pkgdoc

https://studygolang.com/

 

韓順平go語言教程筆記


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM