GO的基礎(chǔ)知識(shí)掃盲注意事項(xiàng)
一.GO程序目錄結(jié)構(gòu)
在GOPATH目錄下的結(jié)構(gòu) --bin(存放編譯后生成的可執(zhí)行文) |----hello.exe(可執(zhí)行文件) --pkg(存放編譯后生成的包文) |-----(后面用到了在說) --src(存放項(xiàng)目源) |----hello(項(xiàng)目目錄) |------main.go(入口文件,下面會(huì)詳解) |----...(多個(gè)目錄和上面hello的形式一樣) |-------...
二.GO程序的一般結(jié)構(gòu)
在進(jìn)行介紹前我先來回顧下之前的main.go文件結(jié)構(gòu)
package main import ( "fmt" ) func main() { fmt.Println("Hello World") }
Go程序是通過package
來組織的,和python類似,只有package
名稱為main的包可以包含main函數(shù),一個(gè)可執(zhí)行的程序有且僅有一個(gè)main包
通過import
關(guān)鍵字來導(dǎo)入其他非main包
通過const
關(guān)鍵字來定義常量
通過var
關(guān)鍵字來進(jìn)行全局變量的聲明與賦值
通過type
鍵字來進(jìn)行結(jié)構(gòu)(struct)或接口(interface)的聲明
通過func
關(guān)鍵字來進(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í)際工作中為了簡寫或者統(tǒng)一命名等一些特殊情況下
import( print "fmt" )
上面就是將fmt替換成print,沒替換前是:
fmt.Println("Hello World")
替換后是:
print.Println("Hello World")
包的別名還有一個(gè)省略調(diào)用的,非常不建意那么用,所以就不介紹了
四.可見性規(guī)格(非常重要)
在GO語言中使用大小寫確定該 常量、變量、類型、接口、結(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語言的基礎(chǔ)知識(shí)掃盲文,主要講解了GO程序目錄結(jié)構(gòu),GO程序包的導(dǎo)入與別名運(yùn)用,GO內(nèi)置關(guān)鍵字,GO注釋方法等相關(guān)知識(shí),更多GO語言基礎(chǔ)知識(shí)請查看下面的相關(guān)鏈接
相關(guān)文章
詳解用Go語言實(shí)現(xiàn)工廠模式(Golang經(jīng)典編程案例)
這篇文章主要介紹了詳解用Go語言實(shí)現(xiàn)工廠模式(Golang經(jīng)典編程案例),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Go語言大揭秘:適用于哪些類型的項(xiàng)目開發(fā)?
想知道Go編程語言適合開發(fā)哪些類型的項(xiàng)目嗎?無論是網(wǎng)絡(luò)服務(wù)、分布式系統(tǒng)還是嵌入式設(shè)備,Go都能輕松應(yīng)對,本文將帶你了解Go在各種場景下的應(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ì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06