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程序是通過(guò)package來(lái)組織的,和python類(lèi)似,只有package名稱(chēng)為main的包可以包含main函數(shù),一個(gè)可執(zhí)行的程序有且僅有一個(gè)main包
通過(guò)import關(guān)鍵字來(lái)導(dǎo)入其他非main包
通過(guò)const關(guān)鍵字來(lái)定義常量
通過(guò)var關(guān)鍵字來(lái)進(jìn)行全局變量的聲明與賦值
通過(guò)type鍵字來(lái)進(jìn)行結(jié)構(gòu)(struct)或接口(interface)的聲明
通過(guò)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)入的包如果沒(méi)有調(diào)用,在編譯的時(shí)候會(huì)報(bào)編譯錯(cuò)誤,這個(gè)是很關(guān)鍵的,所以在編譯報(bào)錯(cuò)的時(shí)候可以檢查一下是否有導(dǎo)入的包未調(diào)用
包的別名與運(yùn)用
在實(shí)際工作中為了簡(jiǎn)寫(xiě)或者統(tǒng)一命名等一些特殊情況下
import(
print "fmt"
)
上面就是將fmt替換成print,沒(méi)替換前是:
fmt.Println("Hello World")替換后是:
print.Println("Hello World")包的別名還有一個(gè)省略調(diào)用的,非常不建意那么用,所以就不介紹了
四.可見(jiàn)性規(guī)格(非常重要)
在GO語(yǔ)言中使用大小寫(xiě)確定該 常量、變量、類(lèi)型、接口、結(jié)構(gòu)或函數(shù) 是否可以被外部包所調(diào)用
函數(shù)名首字母小寫(xiě)為private,表示私有,不可以被外部調(diào)用
函數(shù)名首字母大寫(xiě)為public,表示公有,可以被外部調(diào)用
1. 首字母小寫(xiě)函數(shù)例:(不可被名部調(diào)用)
func getDate(){
return ...
}
2. 首字母大寫(xiě)函數(shù)例:(可被外部調(diào)用)
func GetDate(){
return ...
}
五. GO內(nèi)置關(guān)鍵字
常用一共25個(gè),全部小寫(xiě)
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ù)值類(lèi)型、表達(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)文章
Go語(yǔ)言并發(fā)爬蟲(chóng)的具體實(shí)現(xiàn)
本文主要介紹了Go語(yǔ)言并發(fā)爬蟲(chóng)的具體實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
goland?-sync/atomic原子操作小結(jié)
這篇文章主要介紹了goland?-sync/atomic原子操作,原子操作能夠保證執(zhí)行期間是連續(xù)且不會(huì)被中斷(變量不會(huì)被其他修改,mutex可能存在被其他修改的情況),本文給大家介紹的非常詳細(xì),需要的朋友參考下2022-08-08
Go網(wǎng)絡(luò)編程TCP抓包實(shí)操示例探究
作為一名軟件開(kāi)發(fā)者,網(wǎng)絡(luò)編程是必備知識(shí),本文通過(guò)?Go?語(yǔ)言實(shí)現(xiàn)?TCP?套接字編程,并結(jié)合?tcpdump?工具,展示它的三次握手、數(shù)據(jù)傳輸以及四次揮手的過(guò)程,幫助讀者更好地理解?TCP?協(xié)議與?Go?網(wǎng)絡(luò)編程2024-01-01
golang Gorm與數(shù)據(jù)庫(kù)完整性約束詳解
這篇文章主要介紹了golang Gorm與數(shù)據(jù)庫(kù)完整性約束詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12
使用Golang開(kāi)發(fā)一個(gè)簡(jiǎn)易版shell
這篇文章主要為大家詳細(xì)介紹了如何使用Golang開(kāi)發(fā)一個(gè)簡(jiǎn)易版shell,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02
Go語(yǔ)言變量與基礎(chǔ)數(shù)據(jù)類(lèi)型詳情
Go 是靜態(tài)(編譯型)語(yǔ)言,是區(qū)別于解釋型語(yǔ)言的弱類(lèi)型語(yǔ)言(靜態(tài):類(lèi)型固定,強(qiáng)類(lèi)型:不同類(lèi)型不允許直接運(yùn)算),下面文章將對(duì)其進(jìn)行詳細(xì)介紹,需要的朋友可以參考一下2021-09-09

