Go語言基礎(chǔ)知識有哪些

這篇文章將為大家詳細講解有關(guān)Go語言基礎(chǔ)知識有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、磁縣網(wǎng)站定制設(shè)計、自適應品牌網(wǎng)站建設(shè)、H5技術(shù)商城開發(fā)、集團公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為磁縣等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

1. Go 程序的基本結(jié)構(gòu)

下面是一個Go 程序的基本結(jié)構(gòu),包含(包聲明,引入包,函數(shù)等)

package main

import "fmt"

func main() {   
   fmt.Println("Hello, World!") }

2. 數(shù)據(jù)類型

go內(nèi)建基本數(shù)據(jù)類型包括基本數(shù)據(jù)類型和高級數(shù)據(jù)類型

1. 基本數(shù)據(jù)類型
布爾類型(bool)

數(shù)值類型

整數(shù)類型(byte,rune,int/uint,int8/uint8,int16/uint16,int32/uint32,int64/uint64)
  浮點類型(float32,float64)
  復數(shù)類型(complex64,complex128)

字符串類型
  string Go的字符串是由單個字節(jié)連接起來的。使用UTF-8編碼標識Unicode文本。

2. 高級數(shù)據(jù)類型

數(shù)組(array)
切片(slice)
字典(map)
通道(channel)
函數(shù)(function)
結(jié)構(gòu)體(function)
接口(interface)
指針(*Xxx,Pointer,uintptr)

如果按照底層結(jié)構(gòu)劃分,值類型包括(所有基本數(shù)據(jù)類型,數(shù)組,結(jié)構(gòu)體),引用類型包括(slice,map,channel,function,interface,指針)


3. 變量&常量

1. 變量名由字母、數(shù)字、下劃線組成,其中首個字母不能為數(shù)字,例:var name string
2. 聲明
  a.指定變量類型,聲明后若不賦值,使用默認值。
    var name string
    name = "李四"

  b.根據(jù)值自行判定變量類型。
    var name = "李四"

  c.簡短形式,省略var, 注意 
    age := 10

注意
  (:=)是使用變量的首選形式
  (:=)只能被用在函數(shù)體內(nèi),而不可以用于全局變量的聲明與賦值。
 ?。?=)左側(cè)的變量不應該是已經(jīng)聲明過的,否則會導致編譯錯誤。


3. 常量的數(shù)據(jù)類型只可以是布爾型、數(shù)字型(整數(shù)型、浮點型和復數(shù))和字符串型。
  1. 常量聲明:const b string = "abc"
  2. iota,特殊常量
    const (
      a = iota
      b
      c
    )

  1. 代表連續(xù)的,無類型的整數(shù)常量,
  2. 以const開始的常量聲明語句為單位,
  3. 從0開始,沒賦給一個常量就遞增一次
  4. 一旦跨越以const開始的常量聲明語句就歸0

4. 運算符
1. 算術(shù)運算符,a + b ,包括(+,-,*,/,%,++,--)
2. 關(guān)系運算符,返回True或False ,a == b ,包括(==,!=,>,<,>=,<=)
3. 邏輯運算符,返回True或False ,包括(&&,||,!)
4. 地址運算符 

& : 返回變量存儲地址 (&originalValue)

* :指針變量 (*pointerValue)

5. 接收運算符,用于接收通道的數(shù)據(jù)或者給將數(shù)據(jù)加入通道(intChan<-1, <-intChan)


5. 錯誤處理

1. error 接口,(errors.New(value),fmt.Error(),自定義錯誤類型)

func Divide(a, b float64) (result float64, err error) {    if b == 0 {
        result = 0.0
        err = errors.New("runtime error: divide by zero")        return
    } else {
        result = a / b
        err = nil
    }    
   return
}


2. panic 函數(shù),panic(value) 與error 接口聯(lián)用,

var user = os.Getenv("USER")    
   if user == "" {        panic("The USER environment variable is not set.")    }

3. recover 函數(shù),與defer語句聯(lián)用,

func TestB() (err error) {
    defer func() { //在發(fā)生異常時,設(shè)置恢復if x := recover(); x != nil {
            err = fmt.Errorf("internal error: %v", x)
        }
    }()

    panic("func TestB(): panic")
}

6. Go 基本命令

go build 命令主要是用于測試編譯。在包的編譯過程中,若有必要,會同時編譯與之相關(guān)聯(lián)的包。

go run hello.go

go get 命令主要是用來動態(tài)獲取遠程代碼包的。

go get github.com/go-sql-driver/MySQL

go run 命令主要用于編譯并運行Go程序。

go run hello.go

go test 命令,會自動讀取源碼目錄下面名為*_test.go的文件,生成并運行測試用的可執(zhí)行文件。

關(guān)于“Go語言基礎(chǔ)知識有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

分享名稱:Go語言基礎(chǔ)知識有哪些
網(wǎng)頁網(wǎng)址:http://bm7419.com/article44/geishe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、域名注冊、商城網(wǎng)站品牌網(wǎng)站設(shè)計、企業(yè)建站、網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)