最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go語言基礎(chǔ)語法和基本數(shù)據(jù)類型知識鞏固

 更新時間:2023年11月06日 10:16:37   作者:陳明勇  
這篇文章主要為大家介紹了Go語言基礎(chǔ)語法和基本數(shù)據(jù)類型知識鞏固,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

前言

快速上手一門新的語言,首先要做的就是熟悉新語言的基本語法和基本數(shù)據(jù)類型,本文將對 Go 語言的基礎(chǔ)語法和基本數(shù)據(jù)類型進(jìn)行介紹。

Hello,World!

記得當(dāng)初學(xué)習(xí) C 語言的時候,第一個演示程序是輸出 Hello World!,Go 官網(wǎng)的第一個案例也是輸出 Hello,World!。

package main // 包聲明
import "fmt" // 包導(dǎo)入
// func 函數(shù)關(guān)鍵字
func main() {
    fmt.Println("Hello,World!")
}

從 Hello,World! 輸出案例可知:

  • 聲明包的關(guān)鍵字是 package ;
  • 導(dǎo)包的關(guān)鍵字是 import
  • 使用包里面的函數(shù)以 包名.函數(shù) 這種格式進(jìn)行;
  • 函數(shù)的聲明關(guān)鍵字是 func。

有關(guān) main 函數(shù)的一些要點(diǎn)

1、`main` 函數(shù)必須在 `main` 包里。

2、當(dāng) `main` 函數(shù)所在的文件被命名為 `main.go` 時,可以直接使用 `go run ./main.go` 命令直接運(yùn)行程序。

3、當(dāng) `main` 函數(shù)所在的文件名字不為 `main.go`,需要分以下兩種情況,假設(shè)所在文件的名字為 `a.go`。

當(dāng) a.go 文件里沒有引用其他文件的變量等元素時,可以直接使用 go run ./a.go 運(yùn)行。

package main // 包聲明
import "fmt" // 包導(dǎo)入
// func 函數(shù)關(guān)鍵字
func main() {
    fmt.Println("Hello,World!")
}

運(yùn)行文件

D:\go_projects\src\go_basic> go run .\main.go
Hello,World!

當(dāng) a.go 文件里有引用其他文件的變量等元素時,需要先使用 go build ./a.go ./b.go 生成可執(zhí)行文件,再運(yùn)行 exe 可執(zhí)行文件。

package main // a.go 文件
import "fmt"
func main() {
    fmt.Println(name)
}
package main // b.go 文件
var name string = "cmy"

直接運(yùn)行文件會報錯

D:\go_projects\src\go_basic> go run .\a.go
# command-line-arguments
.\a.go:6:14: undefined: name

正確的運(yùn)行方式

D:\go_projects\src\go_basic> go build .\a.go .\b.go
D:\go_projects\src\go_basic> ls

    目錄: D:\go_projects\src\go_basic
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        2022-11-23      1:39                .idea
-a----        2022-11-23      2:03        1950720 a.exe
-a----        2022-11-23      1:50             63 a.go
-a----        2022-11-23      1:52             38 b.go
-a----        2022-11-23      1:57            127 main.go

D:\go_projects\src\go_basic> .\a.exe
cmy

關(guān)鍵字

除了上面提到的幾個關(guān)鍵字以外,Go 語言還有其他關(guān)鍵字,一共 25 個關(guān)鍵字。

package

聲明

語法格式: package xxx。

package main

包名字由英文或英文與下劃線組合組成。

注意點(diǎn):

包聲明時名字可以和文件夾的命名不一樣。

同一個文件夾內(nèi),每個 Go 文件的包聲明必須一致,否則會報錯。

package hello // a.go 文件
package hello // b.go 文件

引入

包的引入方式:import [alias] xxx,alice 是一個可選值,為包起別名。

import "fmt"
import f "fmt" // 起別名

注意點(diǎn):

引入包而沒有使用,會報錯。

匿名引入:

import _ "fmt" // 起別名

一般匿名引入,是為了使用包里面的 init 函數(shù),它先于 main 函數(shù)之前執(zhí)行-

func init() {
}

基本數(shù)據(jù)類型

Go 語言中的數(shù)據(jù)類型有很多,除了本文介紹的基本數(shù)據(jù)類型以外,還有指針、數(shù)組、結(jié)構(gòu)體 struct、管道 channel、函數(shù) func 、切片 

整形數(shù)據(jù)類型

有符號整數(shù)類型

類型占用存儲空間表數(shù)范圍
int81字節(jié)-2^7 ~ 2^7-1 (-128-127)
int162字節(jié)-2^15 ~ 2^15-1 (-32768-32767)
int324字節(jié)-2^31 ~ 2^31-1 (-2147483648-2147483647)
int648字節(jié)-2^63 ~ 2^63-1

無符號整數(shù)類型

類型占用存儲空間表數(shù)范圍
uint81字節(jié)0~255
uint162字節(jié)0~2^16-1
uint324字節(jié)0~2^31-1
uint648字節(jié)0~2^63-1

其他整數(shù)類型

類型有無符號占用存儲空間表數(shù)范圍
int32位系統(tǒng)-4字節(jié), 64位系統(tǒng)-8字節(jié)-2^31 ~ 2^31-1, -2^63 ~ 2^63-1
uint32位系統(tǒng)-4字節(jié), 4位系統(tǒng)-8字節(jié)0 ~ 2^31-1, 0~2^64-1
rune等價 int32-2^31 ~ 2^31-1
byte等價 unint80~255

浮點(diǎn)數(shù)據(jù)類型

類型占用存儲空間表數(shù)范圍
float324字節(jié)-3.403E38~3.403E38
float648字節(jié)-1.798E308~1.798E308

字符類型

  • Go 沒有字符類型,如果要存單個字符(字母),可使用 byte 類型代替。
  • Go 中字符使用 UTF-8 編碼。

布爾類型

  • 布爾類型在 Go 中對應(yīng) bool 類型,它只允許取值為 true 和 false
  • 布爾類型占 1 個字節(jié)。
  • 布爾類型適用于邏輯運(yùn)算,一般用于程序流程控制。

字符串類型

  • 字符串不可變(指的是其中字符的值不能變,例如 var name string = "cmy",然后操作 name[0]='a' 是不行的)。
  • 如果字符串中需要換行或者字符串較復(fù)雜,可以使用反引號 ``。

基本數(shù)據(jù)類型的默認(rèn)值

數(shù)據(jù)類型默認(rèn)值
整數(shù)類型0
浮點(diǎn)類型0
布爾類型false
字符串類型""

常量和變量聲明

常量聲明:const xxx type = value

const realName string = "chenmingyong"
const Age int = 18

變量聲明:var xxx type = value

var realName string = "chenmingyong"
var Age int = 18

在定義局部變量(方法或函數(shù)內(nèi)部的變量)時,還可以使用 := 去聲明,切記是局部變量,全局變量不能使用 :=,否則會報錯。

realName := "chenmingyong"
Age := 18

Go 會使用類型推斷來判斷類型,數(shù)字會被理解為 int 或者 float64,字符串會被理解為 string

注意點(diǎn):

  • Go 推薦使用駝峰命名的方式。
  • 常量被聲明后,后續(xù)的值不能被修改。
  • 常量和變量的名字,首字母是否大寫,決定著它是否能夠被包外文件訪問,大寫則可以被包外的 Go 文件訪問,小寫則認(rèn)為是私有的,只能被包內(nèi)的 Go 文件訪問。
  • 變量聲明之后,沒有使用,編譯時會報錯。
  • 類型不匹配不能被賦值。
  • 同一個作用域下,變量只能聲明一次。

以上就是Go語言基礎(chǔ)語法和基本數(shù)據(jù)類型知識鞏固的詳細(xì)內(nèi)容,更多關(guān)于Go語言語法基本數(shù)據(jù)類型的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Go http client 連接池不復(fù)用的問題

    Go http client 連接池不復(fù)用的問題

    這篇文章主要介紹了Go http client 連接池不復(fù)用的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • golang 一次性定時器Timer用法及實(shí)現(xiàn)原理詳解

    golang 一次性定時器Timer用法及實(shí)現(xiàn)原理詳解

    這篇文章主要為大家介紹了golang 一次性定時器Timer用法及實(shí)現(xiàn)原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Go語言工程實(shí)踐單元測試基準(zhǔn)測試示例詳解

    Go語言工程實(shí)踐單元測試基準(zhǔn)測試示例詳解

    這篇文章主要為大家介紹了Go語言工程實(shí)踐單元測試基準(zhǔn)測試示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Go協(xié)程和channel的實(shí)現(xiàn)

    Go協(xié)程和channel的實(shí)現(xiàn)

    本文主要介紹了GO利用channel協(xié)調(diào)協(xié)程的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Go 自動升級依賴版本的幾種方法實(shí)現(xiàn)

    Go 自動升級依賴版本的幾種方法實(shí)現(xiàn)

    Go語言使用GoModules進(jìn)行依賴管理,可以通過多種方式自動升級依賴,本文就來介紹Go 自動升級依賴版本的7種方法,感興趣的可以了解一下
    2025-03-03
  • Go實(shí)現(xiàn)Redis連接池方法

    Go實(shí)現(xiàn)Redis連接池方法

    為了更深入了解golang連接池的實(shí)現(xiàn),自已又重寫了一遍連接池。文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Golang 處理浮點(diǎn)數(shù)遇到的精度問題(使用decimal)

    Golang 處理浮點(diǎn)數(shù)遇到的精度問題(使用decimal)

    本文主要介紹了Golang 處理浮點(diǎn)數(shù)遇到的精度問題,不使用decimal會出大問題,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • GoFrame框架gset交差并補(bǔ)集使用實(shí)例

    GoFrame框架gset交差并補(bǔ)集使用實(shí)例

    這篇文章主要為大家介紹了GoFrame框架gset交差并補(bǔ)集使用實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Golang中的四個括號示例詳解

    Golang中的四個括號示例詳解

    這篇文章主要介紹了Golang中的四個括號,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),通過實(shí)例代碼補(bǔ)充介紹了有效的括號golang實(shí)現(xiàn),需要的朋友可以參考下
    2024-03-03
  • Go擴(kuò)展原語之SingleFlight的用法詳解

    Go擴(kuò)展原語之SingleFlight的用法詳解

    Go語言擴(kuò)展包同步原語singleflight.Group能夠再一個服務(wù)中抑制對下游的多次重復(fù)請求,它能夠限制對同一個鍵值對的多次重復(fù)請求,減少對下游的瞬時流量,接下來小編就給大家講講Go SingleFlight的具體用法,需要的朋友可以參考下
    2023-07-07

最新評論

灵山县| 舒城县| 西青区| 甘德县| 香港 | 凤翔县| 漳浦县| 荥经县| 惠安县| 罗源县| 永泰县| 衡水市| 湟中县| 衡阳县| 九台市| 吉隆县| 扶沟县| 股票| 梅州市| 宣城市| 达日县| 抚顺县| 安塞县| 松阳县| 拉萨市| 澎湖县| 文成县| 平果县| 大邑县| 保亭| 文成县| 中江县| 格尔木市| 大冶市| 吴旗县| 张北县| 克山县| 金堂县| 墨脱县| 洱源县| 曲麻莱县|