国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Golang:Go語言結(jié)構(gòu)

這篇具有很好參考價值的文章主要介紹了Golang:Go語言結(jié)構(gòu)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Go 語言結(jié)構(gòu)

在我們開始學習 Go 編程語言的基礎(chǔ)構(gòu)建模塊前,讓我們先來了解 Go 語言最簡單程序的結(jié)構(gòu)。


Go Hello World 實例

Go 語言的基礎(chǔ)組成有以下幾個部分:

  • 包聲明
  • 引入包
  • 函數(shù)
  • 變量
  • 語句 & 表達式
  • 注釋

接下來讓我們來看下簡單的代碼,該代碼輸出了"Hello World!":

實例

package main  
  
import "fmt"  
  
func main() {  
   /* 這是我的第一個簡單的程序 */  
   fmt.Println("Hello, World!")  
}  

讓我們來看下以上程序的各個部分:

  1. 第一行代碼?package main?定義了包名。你必須在源文件中非注釋的第一行指明這個文件屬于哪個包,如:package main。package main表示一個可獨立執(zhí)行的程序,每個 Go 應(yīng)用程序都包含一個名為 main 的包。

  2. 下一行?import “fmt”?告訴 Go 編譯器這個程序需要使用 fmt 包(的函數(shù),或其他元素),fmt 包實現(xiàn)了格式化 IO(輸入/輸出)的函數(shù)。

  3. 下一行?func main()?是程序開始執(zhí)行的函數(shù)。main 函數(shù)是每一個可執(zhí)行程序所必須包含的,一般來說都是在啟動后第一個執(zhí)行的函數(shù)(如果有 init() 函數(shù)則會先執(zhí)行該函數(shù))。

  4. 下一行 // 是注釋,在程序執(zhí)行時將被忽略。單行注釋是最常見的注釋形式,你可以在任何地方使用以 // 開頭的單行注釋。多行注釋也叫塊注釋,均已以 /* 開頭,并以 */ 結(jié)尾,且不可以嵌套使用,多行注釋一般用于包的文檔描述或注釋成塊的代碼片段。

  5. 下一行?fmt.Println(…)?可以將字符串輸出到控制臺,并在最后自動增加換行字符 \n。
    使用 fmt.Print(“hello, world\n”) 可以得到相同的結(jié)果。
    Print 和 Println 這兩個函數(shù)也支持使用變量,如:fmt.Println(arr)。如果沒有特別指定,它們會以默認的打印格式將變量 arr 輸出到控制臺。

  6. 標識符(包括常量、變量、類型、函數(shù)名、結(jié)構(gòu)字段等等)以一個大寫字母開頭,如:Group1,那么使用這種形式的標識符的對象就可以被外部包的代碼所使用(客戶端程序需要先導入這個包),這被稱為導出(像面向?qū)ο笳Z言中的 public);標識符如果以小寫字母開頭,則對包外是不可見的,但是他們在整個包的內(nèi)部是可見并且可用的(像面向?qū)ο笳Z言中的 protected )。


執(zhí)行 Go 程序

讓我們來看下如何編寫 Go 代碼并執(zhí)行它。步驟如下:

  1. 打開編輯器如vscode,將以上代碼添加到編輯器中。

  2. 將以上代碼保存為?test.go

  3. 打開命令行,并進入程序文件保存的目錄中。

  4. 輸入命令?go run test.go?并按回車執(zhí)行代碼。

  5. 如果操作正確你將在屏幕上看到?“Hello World!”?字樣的輸出。

    $ go run test.go
    Hello, World!

  6. 我們還可以使用?go build?命令來生成二進制文件:

    $ go build test.go
    $ ls
    hello????test.go
    $ ./test
    Hello, World!

注意

需要注意的是?{?不能單獨放在一行,所以以下代碼在運行時會產(chǎn)生錯誤:

錯誤實例

package main  
  
import "fmt"  
  
func main()    
{  // 錯誤,{ 不能在單獨的行上  
    fmt.Println("Hello, World!")  
}  

補充

當前的調(diào)試部分可以使用?go run filename.go?來執(zhí)行。

可以生成一個?build.sh?腳本,用于在指定位置產(chǎn)生已編譯好的 可執(zhí)文件:

#!/usr/bin/env bash

CURRENT_DIR=`pwd`
OLD_GO_PATH="$GOPATH"  #例如: /usr/local/go
OLD_GO_BIN="$GOBIN"    #例如: /usr/local/go/bin

export GOPATH="$CURRENT_DIR" 
export GOBIN="$CURRENT_DIR/bin"

#指定并整理當前的源碼路徑
gofmt -w src

go install test_hello

export GOPATH="$OLD_GO_PATH"
export GOBIN="$OLD_GO_BIN"

Golang1.13 以上版本注意

mian.go:19:2: "./myMata/" is relative, but relative import paths are not supported in module mode

這個錯誤是因為在Go 1.13及以上版本中,相對路徑的導入方式不再被支持。相反,應(yīng)該使用絕對路徑或者使用Go Modules來管理依賴關(guān)系。

如果您使用的是Go Modules,請確保在go.mod文件中正確地聲明了依賴關(guān)系。例如,如果您的go.mod文件中包含以下內(nèi)容:

module example.com/myapp

go 1.14

require (
    github.com/example/mymath v1.0.0
)

則應(yīng)該使用以下方式來導入mymath包:

package main

import (
	"fmt"
	"example.com/myapp/mymath"
)

func main() {
	fmt.Println(mymath.Add(1, 2))
	fmt.Println(mymath.Sub(1, 2))
}

如果您沒有使用Go Modules,請考慮使用絕對路徑來導入包。例如,如果您的項目結(jié)構(gòu)如下:

myapp/
├── main.go
└── mymath/
    └── mathClass.go

則應(yīng)該使用以下方式來導入mathClass包:

package main

import (
	"fmt"
	"myapp/mymath"
)

func main() {
	fmt.Println(mymath.Add(1, 2))
	fmt.Println(mymath.Sub(1, 2))
}

注意,這里使用的是絕對路徑myapp/mymath來導入包。在命令行中,使用以下命令來編譯和運行該代碼:文章來源地址http://www.zghlxwxcb.cn/news/detail-495804.html

go run main.go

到了這里,關(guān)于Golang:Go語言結(jié)構(gòu)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包