91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

(一)Golang的概述

發布時間:2020-06-28 20:17:05 來源:網絡 閱讀:963 作者:運維路 欄目:編程語言

Google創造Golang的原因:

  • 計算機硬件技術更新頻繁,性能提高很快。目前主流的編程語言發展明顯落后于硬件,不能合理利用多核多CPU的優勢提升軟件系統性能。
  • 軟件系統復雜度越來越高,維護成本越來越高,目前缺乏一個足夠簡潔高效的編程語言。【現有的編程語言;風格不統一;計算能力不夠;處理大并發不夠好】
  • 企業運行維護很多c/c++的項目,c/c++程序運行速度雖然很快,但是編譯速度卻很慢,同時還存在“內存泄漏”的一系列的困擾需要解決。

Golang的發展歷程:

  • 2007年,谷歌工程師Rob Pike,Ken Thomson和Robert Griesemer開始設計一門全新的語言,這是Go語言的最初原型。
  • 2009年11月10日,Google將Go語言以開放源代碼的方式向全球發布。
  • 2015年8月19日,Go1.5版發布,本次更新中移除了“最后殘余的C代碼”。
  • 2017年2月17日,Go語言Go1.8版發布。
  • 2017年8月24日,Go語言Go1.9版發布。1.9.2版本
  • 2018年2月16日,Go語言Go1.10版發布。

Golang語言的特點:

Go語言保證了既能達到靜態編譯語言的安全和性能,又能達到動態語言開發維護的高效率;相當于Go=C+Python,說明Go語言既有C靜態語言程序的運行速度,又能達到Python動態語言的快速開發。

  • 從語言中繼承了很多理念,包括表達式語法,控制結構,基礎數據類型,調用參數傳值,指針等等,也保留了和C語言一樣的編譯執行方式及弱化的指針。
    舉一個案例:
    //go 語言的指針的使用特點:
        func testPtr(num *int) {
            *num=20
        }
  • 引入包的概念,用于組織程序結構,Go語言的一個文件都要歸屬于一個包,而不能單獨存在。
    package main //一個go文件需要在一個包;
    import “fmt”
    func sayok() {
       //輸出一句話
      fmt.Println("ok")
    }
  • 垃圾回收機制,內存自動回收,不需要開發人員管理。
  • 天然支持大并發。
    1)從語言層面支持并發,實現簡單;
    2)goroutine,輕量級線程,可實現大并發處理,高效利用多核;
    3)基于CPS并發模型(Communicating Sequential Processes)實現;
    4)吸收了管道通訊機制,形成Go語言特有的管道channel,通過管道可以實現不同的goroute之間的相互通信;
    5)函數可以返回多個值;舉例:
    //寫一個函數,實現同時返回 和,差;
    //go 函數支持返回多個值;
    func getSumAndSub(n1 int,n2 int) (int,int) {
        sum := n1 + n2 //go 語言后面不要帶分號;
        sub := n1 - n2
        return sum , sub
    }

    6)新的創新,比如切片 slice,延時執行 defer;

Golang的開發工具的介紹:

  • 工具介紹
    1)visual studio code(vscode)Microsoft產品:一個運行于Mac OS X,Windows和Linux之上的,默認提供Go語言的語法高亮,安裝Go語言插件,還可以智能提示,編譯運行等功能;
    2)Sublime Text,可以免費試用,默認也支持Go代碼語法高亮,只是保存次數達到一定數量之后就會提示是否購買,點擊取消繼續使用,和正式注冊版本沒有任何區別;
    3)Vim,Vim是從vi發展出來的一個文本編輯器,代碼補全、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用;
    4)Emacs,Emacs傳說中的神器,它不僅僅是一個編輯器,因為功能強大,可稱它為集成開發環境;
    5)Eclipse IDE工具,開源免費,并提供GoEclipse插件;
    6)LiteIDE, LiteIDE是一款專門為Go語言開發的跨平臺輕量級集成開發環境(IDE),是國人開發的;
    7)JetBrains公司的產品:PhpStrom、WebStrom和PyCharm等IDE工具,都需要安裝Go插件;

工具選擇:

  • 如何選擇開發工具
    先選擇用visual studio code或者vim文本編輯器本,到對Go語言有一定了解后,再使用Eclipse等IDE開發工具。
  • 為什么要這樣選擇
    1)更深刻的理解Go語言技術,培養代碼感;
    2)有利于公司面試,現在寫代碼;

VSCode的安裝和使用:

到下載地址選擇適合自己系統的VSCode安裝軟件:
https://code.visualstudio.com/download
安裝到D盤指定路徑,安裝即可使用。
在實際開發中,可以在windows開發好程序,然后部署到linux下。

下載SDK工具包:

  • 介紹SDK
    1)SDK的全程(Software Development Kit 軟件開發工具包);
    2)SDK是提供給開發人員使用的,其中包含了對應開發語言的工具包;
  • 下載SDK工具包
    Go語言的官網是:golang.org,但是訪問很慢;這里選擇中國的下載地址:Golang中國,https://golang.google.cn/
    我下載的是1.9.2版本的,選擇windows的zip包,解壓到指定路徑即可使用。
  • windows下配置環境變量
    1)配置環境變量介紹
    根據windows系統在查找可執行程序的原理,可以將Go所在路徑定義到環境變量中,讓系統幫我們去找運行執行的程序,這樣在任何目錄下都可以執行go指令。
    2)配置環境變量
    GOROOT:指定SDK的安裝路徑D:\golang\go1.9.2.windows-amd64\go;
    Path:添加SDK的/bin目錄;%GOROOT%\bin;
    GOPATH:工作目錄,將來我們的go項目的工作路徑D:\gocode;

    3)打開DOS命令測試

    C:\Users\Administrator>go version
    go version go1.9.2 windows/amd64
  • linux下配置環境變量

    vim /etc/profile
    export GOROOT=/opt/go
    export PATH=$PATH:$GOROOT/bin
    export GOPATH=$HOME/goproject
    source /etc/profile

    Go語言快速開發入門:

  • 需求
    要求開發一個hello.go程序,可以輸出“hello,world”
  • 步驟
    (一)Golang的概述
    對上圖的說明:
    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”
  • 編譯執行
    1)先編譯再執行(兩步較快)
    D:\gocode>go run hello.go
    hello,world
    D:\gocode>hello.exe
    hello,world

    2)編譯執行(一步較慢)

    D:\gocode>hello.exe
    hello,world

    3)兩種執行流程的方式區別
    ① 如果先編譯生成了可執行文件,那么可以將該可執行文件拷貝到沒有go開發環境的機器上,仍然可以執行;
    ② 如果是通過go run直接執行go源代碼,那么如果要在另外一個機器上這么運行,也需要go開發環境,否則無法執行;
    ③ 在編譯時,編譯器會將程序運行依賴的庫文件包含在可執行文件中,所以,可執行文件變大了很多。

  • Go程序開發的注意事項
    1)Go源文件以“go”為擴展名;
    2)Go應用程序的執行入口是main()函數,這個類似于其他編程語言(比如java/C)
    3)Go語言嚴格區分大小寫;
    4)Go語言由一條條語句構成,每個語句后不需要分號(Go語言會在每行后自動加分號),這也體現出Golang的簡潔性;
    5)Go編譯器是一行行進行編譯的,因此我們要一行就寫一條語句,不能把多條語句寫在同一行,否則報錯;
    6)go語言定義的變量或者import的包如果沒有使用到,代碼不能編譯通過;
    7)大括號都是成對出現的,缺一不可。

Go語言的轉義字符(escape char):

1)\t:表示一個制表符,通常使用它排版;
2)\n:換行符;
3)\:表示一個\
4)\":表示一個"
5)\r:表示一個回車
(一)Golang的概述

D:\gocode>go run test01.go
張飛厲害雪山飛狐

案例:
(一)Golang的概述

D:\gocode>go run test02.go
姓名    年齡    籍貫    住址
john    12       河北    北京

Golang語言注釋:

  • 行注釋
    基本語法:
    // 注釋內容
    舉例:
    (一)Golang的概述
  • 塊注釋
    基本語法:
    /*
    注釋內容
    */

    舉例:
    (一)Golang的概述

  • 使用細節
    ① 對于行注釋和塊注釋,被注釋的文字,不會被Go編譯器執行;
    ② 塊注釋里面不允許有塊注釋嵌套。

規范的代碼風格:

  • 正確的注釋和注釋風格
    1)Go官方推薦使用行注釋來注釋整個方法和語句;
    2)Go的源代碼就是使用行注釋的。
  • 正確的縮進和空白
    1)使用tab鍵進行縮進;如果需要多行縮進,全選然后按shift+tab鍵向左移,然后按一次tab鍵實現縮進;
    2)使用gofmt進行格式化:gofmt -w 將格式化后的內容寫入到文件中。
  • 運算符兩邊習慣加一個空格
    var num = 2 + 4 * 5
  • Go語言的代碼風格
    正確的寫法:
    func main() {
        fmt.Println("hello,world!")
    }

    錯誤的寫法:

    func main() 
    {
        fmt.Println("hello,world!")
    }
  • 一行最長不超過80個字符,超過的使用換行展示,保持格式優雅
    運行輸出還是一行:

    package main
    import "fmt"
    func main() {
        //fmt.Println("hello,world!")
        fmt.Println("helloworldhelloworldhelloworldhellow",
        "orldhelloworldhelloworldhelloworldhelloworldhell",
        "oworldhelloworldhelloworldhelloworldhelloworldhe",
        "lloworldhelloworldhelloworldhelloworldhelloworldh",
        "elloworldhelloworldhelloworld")
    }

    運行輸出以分割的樣式展示:

    package main
    import "fmt"
    func main() {
        //fmt.Println("hello,world!")
        fmt.Println("helloworldhelloworldhelloworldhellow\n",
        "orldhelloworldhelloworldhelloworldhelloworldhell\n",
        "oworldhelloworldhelloworldhelloworldhelloworldhe\n",
        "lloworldhelloworldhelloworldhelloworldhelloworldh\n",
        "elloworldhelloworldhelloworld")
    }

    Go語言管方指南:

  • Golang官網:(需要×××才能訪問)
    https://golang.org
  • Golang中文官方指南
    https://tour.go-zh.org/welcome/1
  • 解釋術語:API
    API:Application Program Interface=應用程序編程接口;
    就是我們Go語言中的各個包的各個函數。
  • Golang標準庫API文檔
    1)API是Golang提供的基本編程接口;
    2)Go語言提供了大量的標準庫,因此google公司也為這些標準庫提供了相應的API文檔,用于告訴開發者如何使用這些標準庫,以及標準庫包含的方法;
    3)Golang中文網在線標準庫文檔:https://studygolang.com/pkgdoc
    4)Golang的包和源文件和函數的關系
    包和源文件一一對應,源文件里包含函數源代碼。

本章知識回顧:

  • Go語言的SDK是什么?
    SDK就是軟件開發工具包;我們做開發,首先需要先安裝并配置好SDK。
  • Golang環境變量配置及其作用?
    GOROOT:指定go sdk安裝目錄;
    Path:指定SDK\bin目錄,go.exe、godoc.exe、gofmt.exe;
    GOPATH:就是Golang工作目錄,我們所有項目的源碼都在這個目錄下。
  • Golang程序的編寫、編譯、運行步驟是什么?能否一步執行?
    編寫:就是寫代碼;
    編譯:go build 源碼 ==》生成一個二進制的可執行文件;
    運行:對可執行文件運行 xx.exe ./執行文件;go run 源碼。
  • Golang程序編寫的規則
    1)go文件的后綴是 .go;
    2)go程序區分大小寫;
    3)go的語句后,不需要帶分號;
    4)go定義的變量,或者import包,必須使用,如果沒使用就會報錯;
    5)go中,不要把多條語句放在同一行,否則報錯;
    6)go中的大括號成對出現。
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁德市| 海伦市| 新和县| 宜兰市| 无棣县| 蒙山县| 三亚市| 曲水县| 巧家县| 永修县| 德兴市| 五原县| 新龙县| 瑞金市| 肃宁县| 奇台县| 防城港市| 达拉特旗| 蕉岭县| 根河市| 安庆市| 拉萨市| 星座| 盐城市| 隆回县| 平罗县| 涞水县| 平潭县| 衡东县| 北碚区| 阳新县| 长泰县| 佛教| 黄大仙区| 揭西县| 阳泉市| 宣威市| 定南县| 尉犁县| 穆棱市| 玉溪市|