<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
什麼是變數?變數是一塊可以隨時存放資料的記憶體區域。在我們申請這塊記憶體區域(宣告變數)時,需要指定變數名以及變數的資料型別,資料型別用於說明變數可以存放什麼值。
Go是強型別語言,因此Go的變數需要先宣告再使用,且宣告後不可以改變其資料型別。
Version
和version
是兩個不同的變數。Go語言變數有兩種宣告方式,一種是標準的變數宣告,一種是簡短變數宣告。
標準宣告變數的方式
Go宣告一個變數的標準方式是使用關鍵字var
,另外要注意的是Go變數的資料型別是放在變數名後面的,這點與其他語言不同:
宣告一個變數:
var i int i = 10
宣告變數的時候給變數賦值
var i int = 10
在宣告不指定資料型別時,Go通過賦值來推斷其資料型別:
var i = 10
同時宣告多個同型別變數
var m,n int //在同一行宣告兩個型別相同的變數
同時宣告多個變數時,也可以賦初始值:
var q,p = "test",10
批次宣告變數:
var( s string = "test" r int t,f bool )
簡短宣告變數的方式
除了用關鍵字var宣告變數外,Go還支援簡短的區域性變數宣告。
變數的簡短方式使用:=
,且不需要指定資料型別,Go會根據宣告時賦予的值推斷資料語言:
注意,Go的區域性變數宣告後必須使用,否則會報錯。
package main i := 10 //錯誤 func main(){ i := 10//根據賦值推斷i為整型 i = 100//重新賦予整型的值 i = "1" //錯誤,不能再賦予字串 }
Go是通過包(package
)來組織來程式碼,對於在包內宣告的變數(或者函數、常數、結構體等)都是通過變數名的首字母是否大寫來區分是否包外可見,當首字母大寫時,則其他包可以存取該變數。
在一個包中定義兩個變數:
package A var age int = 10 //包外不可見 var Username string = "test" //包外可見
接下來,我們在另一個包中引入上面的包:
package B import A import "fmt" func main(){ fmt.Println(A.Username)//可以存取 fmt.Println(A.age) //錯誤,無法存取小寫字母開頭的變數 }
變數的值在執行中可以隨時改變,而常數的值則在賦值後不能發生改變,常數的值在程式編譯時就已經確定,因此常數在宣告時必須賦值。
Go語言使用const
關鍵來宣告一個常數。
const Version = "1.0" const pi float = 3.14
像變數一樣宣告多個常數:
const ( v1 = 100 v2 v3 )
上面這種宣告方式,常數v2
和v3
的值100。
有時候我們常常需要宣告一些有規則的常數,比說月份或是星期這樣的列舉值:
const ( Sunday int = 0 Monday int = 1 Tuesday int = 2 Wednesday int = 3 Thursday int = 4 Friday int = 5 Saturday int = 6 )
上面這種宣告常數的方式就比較麻煩,每個常數值都需要賦值。
而用Go提供了iota
常數生成器,在宣告這種有規則的常數時,可以避免一個一個常數初始化的麻煩:
const ( Sunday int = iota Monday Tuesday Wednesday Thursday Friday Saturday )
在這個例子中,iota
所在第一行常數Sunday
會被置為0,接下來的常數依次遞增。
使用_
符號後,也可以跳過某個值或者中間插入其他值:
const ( s1 = iota //0 22 //1 _ //跳過 s4 //3 s5 //4 s6 = 100 //中間插入某個值 s7 = iota //0 )
iota
也可計算後再賦給常數:
const ( January Month = 1 + iota February March April May June July August September October November December )
Go的變數與常數的宣告是把資料型別放在變數名後面的,這點與其他程式語言不同,另外,變數和常數名首字母大小寫決定該變數或常數是否包外可見。
到此這篇關於重學Go語言之變數與常數的宣告與使用詳解的文章就介紹到這了,更多相關Go語言變數 常數內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45