




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Go語言的基本語法與開發(fā)基礎(chǔ)Go語言從入門到精通了解Go語言的語言要素和基本語法規(guī)范學(xué)習(xí)如何獲取第三方包并編寫自己的包01GRAMMAR02BUILTIN03PACKAGEtarget目標(biāo)了解和掌握常用的內(nèi)置函數(shù)目錄導(dǎo)航4.14.24.3Go語言語法要素與代碼規(guī)范代碼格式化工具gofmt常用的輔助性內(nèi)置函數(shù)……Contentsfor
i
:=
1;
i
<
10;
i++
{
fmt.Println(i)}
嚴(yán)格的語法規(guī)范for
i
:=
1;
i
<
10;
i
++{
fmt.Println(i)}
不光是語法,還有邏輯檢查聲明了變量但未使用都會報錯語法嚴(yán)格的益處Go語言是一門比較講究代碼書寫規(guī)范的語言付出的代價并非沒有收獲
減少出現(xiàn)編碼階段錯誤的概率使得代碼更加高效Go語言文件編碼Go語言代碼文件要求UTF-8編碼內(nèi)部的字符串也是默認以UTF-8編碼的可以很好地適應(yīng)多語言語句、代碼塊與執(zhí)行順序for
i
:=
1;
i
<
10;
i++
{
a
:=
i
+
1
fmt.Println(a)}
代碼塊語句語句語句執(zhí)行順序語句分割for
i
:=
1;
i
<
10;
i++
{
a
:=
i
+
1
fmt.Println(a)}
語句末尾一般無需分號特殊情況也需要用到分號特殊情況:一般同一行內(nèi)出現(xiàn)多條語句時,需要分號分隔語法記號Go語言中,每條語句是由語法記號(token)或者叫語法實體(entity)組成的。語法記號主要包括四類:標(biāo)識符(identifier)關(guān)鍵字(keyword)操作符或標(biāo)點符號(operatororpunctuation)數(shù)值量(literal)標(biāo)識符標(biāo)識符包括類型名、變量名和函數(shù)名等;標(biāo)識符一般由字母和數(shù)字組成并且必須由一個字母開始;所有標(biāo)識符(包括類型名、變量名、函數(shù)名等)均是大小寫敏感的(大小寫不同的會被認為是兩個不同的標(biāo)識符);預(yù)定義標(biāo)識符(predefinedidentifiers)
int、float64、string、bool
等類型定義
true、false、nil
等固有取值
make、len
等內(nèi)置函數(shù)注意,不要再次定義這些預(yù)定義標(biāo)識符,即不要用這些標(biāo)識符作為變量、函數(shù)等的名字。關(guān)鍵字固有的語法要素,主要包括break、default、func、interface、selectcase、defer、go、map、structchan、else、goto、package、switchconst、fallthrough、if、range、typecontinue、for、import、return、var注意:與預(yù)定義標(biāo)識符不同操作符和標(biāo)點符號操作符和標(biāo)點符號是Go語言中用于組成表達式或者輔助表示一些語法含義的字符。主要包括+&+=&=&&==!=()-|-=|=||<<=[]*^*=^=<->>={}/<</=<<=++=:=,;%>>%=>>=--!....:&^&^=數(shù)值量數(shù)值量是在Go語言中對各種數(shù)值的表達形式,除了數(shù)字外,也包括字符串的值、布爾類型的值和其他復(fù)合類型的值等
123
//
代表一個整數(shù)
0xFFACDE
//
0x開頭的16進制數(shù)字用于表達一個整數(shù)
32.8
//
代表一個浮點數(shù)(小數(shù))
6.68e-11
//
代表一個用科學(xué)記數(shù)法表示的浮點數(shù)
88.3528e-11i
//
表示一個數(shù)學(xué)上的復(fù)數(shù),前面是實部,后面是虛部
"Hello
world!"
//
字符串的表示形式
`Hello
world!`
//
用反引號`也可以用來括起字符串標(biāo)識符的可見性小寫字母開始的所有標(biāo)識符均只能在代碼本身所在的包中使用大寫字母開頭的標(biāo)識符稱作“被導(dǎo)出的”(exported)標(biāo)識符,可以供外部其他包(包括主程序所在的main包)使用這里的標(biāo)識符一般用于變量和函數(shù),以及自定義類型目錄導(dǎo)航4.14.24.3……Go語言語法要素與代碼規(guī)范代碼格式化工具gofmt常用的輔助性內(nèi)置函數(shù)……Contentsgofmt的作用package
main
import
("fmt")
func
main()
{
a:=1
if
(a
>=
1)
{fmt.Println(a)}}
不規(guī)范的代碼新版的寫法,舊版是gofmt-wmain.go經(jīng)過gofmt處理之后package
main
import
(
"fmt")
func
main()
{
a
:=
1
if
a
>=
1
{
fmt.Println(a)
}}規(guī)范的代碼格式目錄導(dǎo)航4.24.34.4……代碼格式化工具gofmt常用的輔助性內(nèi)置函數(shù)格式化輸出函數(shù)fmt.Printf……Contents常用內(nèi)置函數(shù)print和printlnlen和capmake、newcopy、deletepanic、recover目錄導(dǎo)航4.34.44.5……常用的輔助性內(nèi)置函數(shù)格式化輸出函數(shù)fmt.Printf如何獲取和使用第三方包……Contentsfmt.Printf函數(shù)
var
a
int
a
=
8
fmt.Printf("a=%d",
a)
優(yōu)點:通過格式化符使得輸出更靈活,書寫更易組織常用格式化符整數(shù)格式化符%d16進制格式化符%x
和%X二進制形式格式化符%b浮點數(shù)格式化符%f其他的浮點數(shù)格式化符%e、%E、%g、%G布爾類型的格式化符%tUnicode碼相關(guān)格式化符%c、%q
和%U字符串格式化符%s指針格式化符%p萬能格式化符%v輸出數(shù)值類型的格式化符%T格式化符加修飾a
:=
1.6879
fmt.Printf("%9.2f\n",
a)fmt.Printf("%9.6f\n",
a)fmt.Printf("%09.2f\n",
a)fmt.Printf("%-9.2f\n",
a)
轉(zhuǎn)義符var
a
int
a
=
8
fmt.Printf("a=%d\nb=99%%\nc=?\n",
a)輸出百分號本身輸出回車符目錄導(dǎo)航4.44.54.6……格式化輸出函數(shù)fmt.Printf如何獲取和使用第三方包如何定義和使用常量……Contentsgoget命令小提示:注意為避免GoModules干擾,設(shè)置環(huán)境變量GO111MODULE=off目錄導(dǎo)航4.54.64.7……如何獲取和使用第三方包如何定義和使用常量變量、函數(shù)等標(biāo)識符聲明的作用范圍……Contents常量的概念與定義
const
a
=
10
a
=
17
fmt.Println(a)
將編譯報錯常量是表示不會變化的值iota常量const
(
black
=
iota
white
red
green
blue)
func
main()
{
fmt.Println(black,
white,
red,
green,
blue)}將為0,white為1,后面依次遞增目錄導(dǎo)航4.64.74.8……如何定義和使用常量變量、函數(shù)等標(biāo)識符聲明的作用范圍tools包——編寫自己的函數(shù)庫Contents標(biāo)識符的作用范圍標(biāo)識符有效范圍的起始點在其聲明之后,也就是“先聲明再使用”;標(biāo)識符有效范圍的結(jié)束點在其聲明后最近的代碼塊末尾,即到最近的右花括號為止;
同一級別的代碼塊內(nèi)不可以重復(fù)定義一個標(biāo)識符;標(biāo)識符后如果有新開始的嵌套代碼塊(低一級的代碼塊),則該標(biāo)識符在該代碼塊中仍然有效;但如果該代碼塊中再次聲明了該標(biāo)識符,則會被視為一個新的標(biāo)識符,并會替代原標(biāo)識符,但僅限于這個嵌套代碼塊之內(nèi)有效。標(biāo)識符的作用范圍如果標(biāo)識符不在任何代碼塊內(nèi)(成對的花括號內(nèi)),則從聲明開始一直有效;即全局變量;
如果定義的全局范圍標(biāo)識符不是以大寫字母開頭,則最多只在代碼所在的本包內(nèi)有效;如果是以大寫字母開頭的,則可以被其他包訪問,稱作“被導(dǎo)出的”(exported)標(biāo)識符;全局變量在定義的時候不能使用簡化聲明方式(既用“:=”聲明并賦初值的方式)目錄導(dǎo)航4.74.8……變量、函數(shù)等標(biāo)識符聲明的作用范圍tools包——編寫自己的函數(shù)庫Contents自定義包的實現(xiàn)——GOPATH/src/tools/tools.gopackage
tools
import
(
"fmt")
func
Printfln(format
strin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全教育培訓(xùn)試題及答案
- 烏蘇市保安考試題及答案
- 工廠包貨車運輸協(xié)議
- 一年級體育教學(xué)工作計劃(33篇)
- 2025二手房屋買賣合同官方版空白
- 彩票站與體育賽事合作推廣協(xié)議
- 臨時用地拆遷補償協(xié)議書
- 餐飲食品安全管理體系建設(shè)與監(jiān)督協(xié)議
- 影視制作現(xiàn)場場記職務(wù)聘用協(xié)議
- 餐飲店股東聯(lián)合投資餐飲項目合作協(xié)議
- 航天器姿軌耦合控制
- 《棉鈴蟲的習(xí)性》課件
- 化妝品行業(yè)智能化護膚與體驗方案
- 市政道路提升改造工程投標(biāo)文件(技術(shù)方案)
- 安規(guī)考試題庫(含參考答案)
- 2024秋國開《職場寫作》形考作業(yè)1-4參考答案
- TSG ZF001-2006《安全閥安全技術(shù)監(jiān)察規(guī)程》
- 2025年遼寧省高考生物學(xué)試卷與參考答案
- 12D401-3 爆炸危險環(huán)境電氣線路和電氣設(shè)備安裝
- 公裝行業(yè)市場分析報告2024年
- DL∕ T 1163-2012 隱極發(fā)電機在線監(jiān)測裝置配置導(dǎo)則
評論
0/150
提交評論