GO的基礎(chǔ)知識(shí)掃盲注意事項(xiàng)
一.GO程序目錄結(jié)構(gòu)
在GOPATH目錄下的結(jié)構(gòu) --bin(存放編譯后生成的可執(zhí)行文) |----hello.exe(可執(zhí)行文件) --pkg(存放編譯后生成的包文) |-----(后面用到了在說(shuō)) --src(存放項(xiàng)目源) |----hello(項(xiàng)目目錄) |------main.go(入口文件,下面會(huì)詳解) |----...(多個(gè)目錄和上面hello的形式一樣) |-------...
二.GO程序的一般結(jié)構(gòu)
在進(jìn)行介紹前我先來(lái)回顧下之前的main.go文件結(jié)構(gòu)
package main import ( "fmt" ) func main() { fmt.Println("Hello World") }
Go程序是通過package
來(lái)組織的,和python類似,只有package
名稱為main的包可以包含main函數(shù),一個(gè)可執(zhí)行的程序有且僅有一個(gè)main包
通過import
關(guān)鍵字來(lái)導(dǎo)入其他非main包
通過const
關(guān)鍵字來(lái)定義常量
通過var
關(guān)鍵字來(lái)進(jìn)行全局變量的聲明與賦值
通過type
鍵字來(lái)進(jìn)行結(jié)構(gòu)(struct)或接口(interface)的聲明
通過func
關(guān)鍵字來(lái)進(jìn)行函數(shù)的聲明
三.GO程序包的導(dǎo)入與別名運(yùn)用
包的導(dǎo)入
單獨(dú)引入各種包
import "fmt" import "io" import "time" import "strings"
統(tǒng)一引入,省去多個(gè)import關(guān)鍵字
import( ? ? "fmt" ? ? "io" ? ? "time" ? ? "strings" )
如果導(dǎo)入的包如果沒有調(diào)用,在編譯的時(shí)候會(huì)報(bào)編譯錯(cuò)誤,這個(gè)是很關(guān)鍵的,所以在編譯報(bào)錯(cuò)的時(shí)候可以檢查一下是否有導(dǎo)入的包未調(diào)用
包的別名與運(yùn)用
在實(shí)際工作中為了簡(jiǎn)寫或者統(tǒng)一命名等一些特殊情況下
import( print "fmt" )
上面就是將fmt替換成print,沒替換前是:
fmt.Println("Hello World")
替換后是:
print.Println("Hello World")
包的別名還有一個(gè)省略調(diào)用的,非常不建意那么用,所以就不介紹了
四.可見性規(guī)格(非常重要)
在GO語(yǔ)言中使用大小寫確定該 常量、變量、類型、接口、結(jié)構(gòu)或函數(shù) 是否可以被外部包所調(diào)用
函數(shù)名首字母小寫為private,表示私有,不可以被外部調(diào)用
函數(shù)名首字母大寫為public,表示公有,可以被外部調(diào)用
1. 首字母小寫函數(shù)例:(不可被名部調(diào)用)
func getDate(){ return ... }
2. 首字母大寫函數(shù)例:(可被外部調(diào)用)
func GetDate(){ return ... }
五. GO內(nèi)置關(guān)鍵字
常用一共25個(gè),全部小寫
break
default
func
interface
select
case
defer
go
map
struct
chan
else
goto
package
switch
const
fallthrough
if
range
type
continue
for
import
return
var
六. GO注釋方法
// : 表示單行注釋 /* */ : 表示多行注釋
本文主要是GO語(yǔ)言的基礎(chǔ)知識(shí)掃盲文,主要講解了GO程序目錄結(jié)構(gòu),GO程序包的導(dǎo)入與別名運(yùn)用,GO內(nèi)置關(guān)鍵字,GO注釋方法等相關(guān)知識(shí),更多GO語(yǔ)言基礎(chǔ)知識(shí)請(qǐng)查看下面的相關(guān)鏈接
- GO語(yǔ)言(golang)基礎(chǔ)知識(shí)
- Go語(yǔ)言基礎(chǔ)知識(shí)總結(jié)(語(yǔ)法、變量、數(shù)值類型、表達(dá)式、控制結(jié)構(gòu)等)
- 模塊一 GO語(yǔ)言基礎(chǔ)知識(shí)-庫(kù)源碼文件
- Go語(yǔ)言實(shí)現(xiàn)操作MySQL的基礎(chǔ)知識(shí)總結(jié)
- Go語(yǔ)言基礎(chǔ)知識(shí)點(diǎn)介紹
- GO 語(yǔ)言運(yùn)行環(huán)境的基礎(chǔ)知識(shí)
- 深入淺出Go:掌握基礎(chǔ)知識(shí)的關(guān)鍵要點(diǎn)
相關(guān)文章
Golang中漏洞數(shù)據(jù)庫(kù)的使用詳解
govulncheck是Golang中的漏洞掃描工具,它強(qiáng)大功能的背后,離不開?Go?漏洞數(shù)據(jù)庫(kù)(Go?vulnerability?database)的支持,所以本文就來(lái)為大家詳細(xì)講解下?Go?漏洞數(shù)據(jù)庫(kù)相關(guān)的知識(shí)2023-09-09詳解用Go語(yǔ)言實(shí)現(xiàn)工廠模式(Golang經(jīng)典編程案例)
這篇文章主要介紹了詳解用Go語(yǔ)言實(shí)現(xiàn)工廠模式(Golang經(jīng)典編程案例),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Go語(yǔ)言大揭秘:適用于哪些類型的項(xiàng)目開發(fā)?
想知道Go編程語(yǔ)言適合開發(fā)哪些類型的項(xiàng)目嗎?無(wú)論是網(wǎng)絡(luò)服務(wù)、分布式系統(tǒng)還是嵌入式設(shè)備,Go都能輕松應(yīng)對(duì),本文將帶你了解Go在各種場(chǎng)景下的應(yīng)用,讓你更好地選擇和使用Go進(jìn)行開發(fā),需要的朋友可以參考下2024-01-01go-zero源碼閱讀之布隆過濾器實(shí)現(xiàn)代碼
布隆過濾器可以用于檢索一個(gè)元素是否在一個(gè)集合中。它的優(yōu)點(diǎn)是空間效率和查詢時(shí)間都比一般的算法要好的多,缺點(diǎn)是有一定的誤識(shí)別率和刪除困難,這篇文章主要介紹了go-zero源碼閱讀-布隆過濾器,需要的朋友可以參考下2023-02-02深入了解Golang中的Slice底層實(shí)現(xiàn)
本文主要為大家詳細(xì)介紹了Golang中slice的底層實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2023-02-02go?micro微服務(wù)框架項(xiàng)目搭建方法
這篇文章主要為大家介紹了go?micro微服務(wù)框架項(xiàng)目搭建方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01Goland配置leetcode的實(shí)現(xiàn)示例
本文主要介紹了Goland配置leetcode的實(shí)現(xiàn)示例,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06