Go語言學(xué)習(xí)筆記(三)-包、變量揭北、函數(shù)

每個Go程序都是由包組成的扳炬,且每個程序是從main包開始運行吏颖,看一段實例代碼:

package main
import (
    "fmt"
    "math/cmplx"
)
func main(){
    x complex128 = cmplx.Sqrt(-5+12i)
    fmt.Println(x)
}

上述代碼中通過導(dǎo)入路徑”fmt”和”math/cmplx”來使用這兩個包。Go約定包中源碼的包名與引入路徑的最后一個元素一致恨樟,例如”math/cmplx”這個包中的源碼均是以package cmplx語句開始的半醉。

導(dǎo)入

Go通過import來導(dǎo)入包,有兩種導(dǎo)入形式:import packageName

import(
    "packageName1"
    "packageName2"
    ....
)

當然也支持通過多個import來導(dǎo)入多個包劝术,但是Go官方更推薦通過分組導(dǎo)入的方式缩多,也就是上述中的第二種導(dǎo)入方式。

導(dǎo)出名

在Go中养晋,如果一個名字以大寫字母開頭衬吆,那么它就是已導(dǎo)出的,例如Sqrt以及Pi绳泉,這兩個都是導(dǎo)出名逊抡,一個導(dǎo)出自math/cmplx包一個導(dǎo)出自math包。在導(dǎo)入包時零酪,只能引用其中已導(dǎo)出的名字冒嫡,所有”未導(dǎo)出”的名字只能在包內(nèi)訪問。

函數(shù)

在Go中四苇,函數(shù)以func來定義孝凌,可以沒有參數(shù)或多個參數(shù),參數(shù)類型以空格隔開置于參數(shù)后方月腋。與不同的是Go的參數(shù)如果存在兩個或兩個以上類型相同胎许,則除了最后一個參數(shù)類型必須聲明之外,其他幾個參數(shù)可以忽略罗售。另外辜窑,Go中函數(shù)可以返回多值且存在返回值時必須聲明返回值類型,也可對返回值進行命名寨躁。已命名返回值會被視作定義在函數(shù)頂部的變量穆碎,當函數(shù)中存在不帶參數(shù)的return語句時,則返回已命名的返回值职恳,也就是’直接’返回所禀。

變量

Go通過var來聲明變量,變量類型與函數(shù)的參數(shù)類型一樣置于變量后面放钦,以空格隔開色徘,多個連續(xù)變量類型相同時,可只寫最后一個變量類型操禀。實例如下:

package main
import "fmt"
var z,x int
func main(){
    var i,j int
    var t string
    var test = true
    k := "test"
    var m,n,s = false,1,"test"
}

從上述代碼中我們可以看出Go的變量定義可以出現(xiàn)在函數(shù)級也可以出現(xiàn)在包級褂策,且可以不聲明類型,通過初始值來獲取類型,Go中可以同時給多個變量賦值斤寂,也可通過:=來省略var關(guān)鍵字(僅限函數(shù)內(nèi)耿焊,函數(shù)外所有變量都必須存在var關(guān)鍵字函數(shù)都必須存在func關(guān)鍵字)。

Go的基本類型以及零值

Go的基本類型很多遍搞,如下:

bool

strinh

int int8 int16 int32 int64

uint uint8 uint16 uint32 uint64

byte //int8別名

rune //int32別名

float32 float64

complex64 complex128

沒有明確初始值的變量聲明會被賦予它們的零值罗侯,數(shù)值類型的零值便為0,字符串則為空字符串溪猿,布爾類型的則為false钩杰。
在Go中支持顯示轉(zhuǎn)換變量類型,也就是強制轉(zhuǎn)換诊县。

常量

常量的定義與變量相似讲弄,不同的是常量使用const來定義且不能使用:=來聲明

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市翎冲,隨后出現(xiàn)的幾起案子垂睬,更是在濱河造成了極大的恐慌媳荒,老刑警劉巖抗悍,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異钳枕,居然都是意外死亡缴渊,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門鱼炒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衔沼,“玉大人,你說我怎么就攤上這事昔瞧≈敢希” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵自晰,是天一觀的道長凝化。 經(jīng)常有香客問我,道長酬荞,這世上最難降的妖魔是什么搓劫? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮混巧,結(jié)果婚禮上枪向,老公的妹妹穿的比我還像新娘。我一直安慰自己咧党,他們只是感情好秘蛔,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般缠犀。 火紅的嫁衣襯著肌膚如雪数苫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天辨液,我揣著相機與錄音虐急,去河邊找鬼。 笑死滔迈,一個胖子當著我的面吹牛止吁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播燎悍,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼敬惦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了谈山?” 一聲冷哼從身側(cè)響起俄删,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎奏路,沒想到半個月后畴椰,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡鸽粉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年斜脂,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片触机。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡帚戳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出儡首,到底是詐尸還是另有隱情片任,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布蔬胯,位于F島的核電站对供,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏笔宿。R本人自食惡果不足惜犁钟,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望泼橘。 院中可真熱鬧涝动,春花似錦、人聲如沸炬灭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至米愿,卻和暖如春厦凤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背育苟。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工较鼓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人违柏。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓博烂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親漱竖。 傳聞我的和親對象是個殘疾皇子禽篱,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 前言 人生苦多,快來 Kotlin 馍惹,快速學(xué)習(xí)Kotlin躺率! 什么是Kotlin? Kotlin 是種靜態(tài)類型編程...
    任半生囂狂閱讀 26,146評論 9 118
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理万矾,服務(wù)發(fā)現(xiàn)悼吱,斷路器,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • 86.復(fù)合 Cases 共享相同代碼塊的多個switch 分支 分支可以合并, 寫在分支后用逗號分開勤众。如果任何模式...
    無灃閱讀 1,347評論 1 5
  • 出處---Go編程語言 歡迎來到 Go 編程語言指南舆绎。本指南涵蓋了該語言的大部分重要特性 Go 語言的交互式簡介鲤脏,...
    Tuberose閱讀 18,403評論 1 46
  • 一们颜、溫故而知新 1. 內(nèi)存不夠怎么辦 內(nèi)存簡單分配策略的問題地址空間不隔離內(nèi)存使用效率低程序運行的地址不確定 關(guān)于...
    SeanCST閱讀 7,779評論 0 27