Go(day1)

內容介紹

  • Go語言簡述linux

  • Go語言站點web

  • Go基礎環境搭建(linux&windows)編程

  • hello word程序windows

  • Go語言特性併發

  • Go命令介紹異步

Go語言簡述

  • 特徵:ide

    • 語法簡單:語法標準比較嚴格,適合開發人員短期高效的服務端開發。函數

    • 併發模型:Goroutine是Go最顯著的特徵,使用類協程的方式來處理併發,搭載channel實現CSP模型高併發

    • 內存分配:Go選擇tcmaclloc來實現高併發的內存管理和分配工具

    • 垃圾回收:防止出現OOM的坑

    • 靜態連接:簡化了部署和發佈操做,極大程度上下降了代碼發佈的依賴關係

    • 標準庫:功能完善的標準庫,有利於下降學習成本

    • 工具鏈:不管是編譯,格式化,錯誤檢查,幫助文檔和對應的測試支持都比較完善

  • 總結:

      go語言做爲一個現代化的開發語言,利用其高併發的特性,有利於實現服務端開發;再結合自身的語法規範性上,能夠更好的爲API的開發提供更好的幫助;做爲一種編譯性開發語言。在web開發方面還存在着必定的高效性差距;然而在經過同步方式封裝異步概念來更好的處理併發,因此更適合如今的服務端開發。

Go語言環境搭建

windows下配置Go,環境變量--->自行腦補

Linux下配置Go --> /etc/profix/

export GOROOT=$PATH:/path/to/go/
export PATH=$PATH:$GOROOT/bin/
export GOPATH=/home/user/project/go

Go是強類型語言,複用的最小單位是package(包)

Go命令:

  • go run 快速運行go文件,就像執行腳本同樣

  • go build 編譯程序,生成二進制可執行文件

  • go install 安裝可執行文件到bin目錄

  • go test 執行單元測試或壓力測試  go test -v 詳細

  • go env 顯示go相關的環境變量

  • go fmt 格式化源代碼 ,字符串只能用雙引號

Go須知:

    1. package main 全部的入口必須是main 函數 , 不須要傳參數,和返回值

    2. package  cacl是一個庫

    3. func函數    是關鍵字,

    4. GOPATH  工做區,全部項目都是在工做區,GOPATH路徑最好只設置一個   

    5. 若是要使用包裏的一個文件,那必須把這個包都導入

    6. import 中使用別名 是在 包名前面 在一個自定義字母就行

    7. go 源碼按package進行管理,而且package要放到非註釋的第一行

    8. 一個程序只有一個main包和一個main函數,  main函數是程序的執行入口!!

    9.  單行註釋//,  多行註釋 /*    內容   */

Go編程基礎須知:

  1. 類型必須在變量後面 : 自動會更根據後面的類型,給前面變量賦值類型

    1. 定義變量 var sum int   --> sum就是變量,int 是類型

    2. 有個更簡易的變量賦值方法       :=   聲明變量而且賦值  

  2. 11

Go代碼:

func Add(a int,b int) int {
    return a + b
}
//求差
func Sub(a int,b int) int {
    return a - b
}
//多返回值混合運算
func Calc(a int,b int) (int,int) {
    sum := a + b
    sub := a - b
    return sum,sub
}
本站公眾號
   歡迎關注本站公眾號,獲取更多信息