日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Go语言程序结构分析初探

發布時間:2025/4/5 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Go语言程序结构分析初探 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

每一種編程語言都有自己的語法、結構以及自己的風格,這也是每種語言展現各自魅力及眾不同的地方。Go也不例外,它簡單而優雅,與此同時使用起來也很有趣。在本文中,我們將討論以下幾點:

  • Go程序結構

  • 如何運行Go程序

  • Go中的注釋

  • 分號

  • 代碼回顧

?

Go程序結構

要理解Go程序的結構,首先需要有一個Go程序,讓我們重溫一下最受歡迎的Hello, World!程序。

package main?

import "fmt"?

func main() {

??? fmt.Println("Hello,World!")

}

?

每個源文件(擴展名為.go的文件)必須有一個包聲明。在上面的helloworld.go文件中,第一行聲明了包main,其含義是告訴編譯器這個源文件將包含go的入口點,是主函數。main包的聲明和main函數的組合使其成為獨立的、可執行的Go程序。

在我們的代碼中,我們將信息寫入控制臺,這是一個標準輸出。為此,要使用import關鍵字導入fmt包。fmt包是format單詞的縮寫,它與Go標準庫一起提供給開發人員。fmt包提供了許多寫入到標準輸出的方式(類似fmt.Println的一系列變種)。此外,稍后可以看到導入多個包場景。

?

如何運行Go程序

我們可以使用go run或go build命令運行任何Go程序。使用這些命令可以指示Go編譯器編譯和運行Go代碼。要運行上面的Hello World程序,可以在程序文件當前目錄中使用go run helloworld.go命令。

go run helloworld.go

我們還可以使用go build命令,該命令將生成一個名為helloworld的可執行文件,該文件可以像任何其他exe可執行文件一樣執行。命令如下:

go build

?

如果出于某種原因,我們想要更改可執行文件的名稱,那么可以使用go build -o?命令來更改。這將創建一個具有指定的名稱的可執行二進制文件。例如:

$ go build -o exe? #being in thehello-world directory

$ ./exe??????????? # running theexecutable

Hello, World!

根據需要,我們可能想要安裝應用程序。為此,可以使用go install <package-name>?命令。這將創建一個二進制可執行文件,并將其存儲在$GOPATH/bin目錄中。因此,確保設置了GOBIN并將其添加到PATH環境變量中。此外,如果設置了PATH環境變量,可以在系統的任何地方運行該二進制文件。如下所示:

go install helloworld

?

Go中的注釋

在合適的位置向代碼中添加注釋與編寫高質量的、可維護的代碼同樣重要。在Go中,注釋不僅僅是在代碼中添加內聯解釋的一種方式,它也是將api文檔化的一種方式,我們在討論函數時將看到這一點。

?

有兩種方法可以在代碼中添加注釋:行注釋或塊注釋。要添加行注釋,只需以//開頭,后面跟著注釋掉的文本。要添加塊注釋,我們在/*和*/符號之間換行文本。以下是例子:

// package main defines the entry point

package main

// import the 'fmt' package from standard library

import "fmt"

/*

??? The main function is the entrypoint in a Go program.

??? The main function does not havea return type.

??? Also, it does not accept anyparameters.

*/

func main() {

??? fmt.Println("Hello,World!")

}

?

分號

正如在上面的代碼中所看到的,我們的代碼中沒有使用任何分號。那是因為Go會在幕后實現這些。與C語言一樣,Go的語法也使用分號來終止語句,但它們不必出現在源代碼中。

?

Go的文檔是這樣說的:

與C語言一樣,Go的正式語法使用分號來終止語句,但與C語言不同的是,這些分號不會出現在源代碼中。相反,詞法分析程序使用一個簡單的規則在掃描時自動插入分號,因此輸入文本基本上不需要分號。

?

大致規則如下:如果換行符之前的最后一個標記是一個標識符(包括int和float64這樣的單詞),一個基本的文字(如數字或字符串常量),或一個特殊指令(如break/continue/fallthrough/return/++/--)。詞法分析程序總是在以上指令后面插入分號。可以總結為:“如果換行符出現在可以結束語句的標記之后,那么插入一個分號”。分號也可以在右大括號前省略,因此諸如break/continue/fallthrough/return/++/--等不需要分號。

要關于內部的內容,請繼續閱讀go官方文檔。

?

代碼回顧

正如所述,每個獨立應用程序都必須有一個package main的聲明,而帶有這種聲明的.go文件必須有一個main函數。這個main函數是應用程序的入口點,就像在其他編程語言(如C、Java、c#等)中一樣。

?

區別在于,在Java或c#中,main函數可以接受參數,如(string[]args);而在Go中,main函數不接受任何參數,而且main函數不返回任何數據。

?

注意以下代碼是如何導入fmt包的:import “fmt”。此語法僅在導入單個包時有效。如果想導入多個包,那么需要在import()中將包分組。下面是一個例子:

// importing multiple packages in Go

import (

"context"

"database/sql"

"fmt"

"log"

)

注意上面代碼中在任何導入包的末尾沒有分號,這將由詞法分析器來完成。

?

總結

Go有一個非常簡單的程序結構,感覺讀起來更像c。遵循相同的模式,將main函數作為應用程序的入口點。Go提供了一種方便的方法來編寫簡潔的代碼,自動且巧妙地在合適位置插入分號。Go提供了不同的注釋類型在代碼中作描述(與多種主流語言一致),并且能基于注釋快速構建文檔。

?

為了更好地理解幕后的技術細節以及如何在Go中編寫高質量的代碼,強烈建議閱讀Go文檔中Effective Go頁面。

原文作者:Gaurav Gahlot??譯者:江瑋

原文鏈接:https://dzone.com/articles/structure-of-a-go-program?fromrel=true

版權聲明:本文版權歸作者(譯者)及公眾號所有,歡迎轉載,但未經作者(譯者)同意必須保留此段聲明,且在文章頁面明顯位置給出,本文鏈接如有問題,可留言咨詢。

轉載于:https://www.cnblogs.com/davidwang456/p/10313041.html

總結

以上是生活随笔為你收集整理的Go语言程序结构分析初探的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。