Go 語言基礎(chǔ)之常量 變量

水滴石穿,非一日之功

前言

? 在環(huán)境變量配置好之后,正式入坑,每一門編程語言都有自己的獨特語法,在一番查找資料后,對go的基礎(chǔ)語法有一點點了解,下面就來記錄記錄

變量定義

go中變量的定義與Objective-C或者是C中的定義都不一樣,這里引入了關(guān)鍵字var,倒是和swift有點類似,并且都是將變量的類型放在變量名后面

如以下的定義

//定義一個float64類型的名為"width"的變量
var width float64

當(dāng)然我們也可以進(jìn)行多變量的聲明

//多變量聲明 聲明三個string類型的變量
var q,w,e  string

定義變量并初始化賦值

var width float64 = 100.0

當(dāng)然我們也可以同時初始化幾個變量

var q,w,e  string = "dd","12","300"

如果覺得這樣復(fù)雜的話 我們還可以不定義類型 直接像下面這樣來定義

//不聲明類型 自動識別 為int類型
var dc = 234
//后面三種類型需保持一致
var q,w,e = "dd","12","300"

如果還覺得麻煩的話,那么只能....下面這樣了,連var都省了

//簡短聲明 這是使用變量的首選形式,但是它只能被用在函數(shù)體內(nèi),而不可以用于全局變量的聲明與賦值
a := "1234"

//多變量聲明
var q,w,e  string
q,w,e = "opop","ddd","cmdd"
//直接使用簡短聲明
o,p,k := q,w,e

:=這個符號直接取代了vartype,這種形式叫做簡短聲明。不過它有一個限制,那就是它只能用在函數(shù)內(nèi)部;在函數(shù)外部使用則會無法編譯通過,所以一般用var方式來定義全局變量

不可以再次對相同名稱的變量使用初始化聲明,比如上面的字符串o我們不能再像下面這樣

//o := "gkl" //錯誤
o = "gkl"http://可以的

全局變量,關(guān)于全局變量,我們一般使用var在函數(shù)體外來定義

如下

package hellotest

//定義全局變量
var str string;
var width float64;
var height float64 = 123;

關(guān)于全局變量和局部變量,在go中與其他語言有點不一樣的就是,如果局部變量沒有被使用,那么就會報錯,而全局變量不會報錯,所以定義全局變量的時候,一定要使用

對于全局變量,我們還可以使用()的方式,來將其統(tǒng)一管理起來,如下

//多個全局變量 可以用括號的方式來統(tǒng)一定義
var (
    str string;
    width float64;
    height float64 = 123;
)

這和我們導(dǎo)入多個頭文件挺類似的,個人感覺還不錯,至少美觀些,哈哈

常量定義

常量的話,還是和其他語言差不多,都是使用const關(guān)鍵字來定義

const Pi  = 3.1415926
const MaxArea float64  = 100992.0
const name  = "Go編程"

可以省略也可以添加常量的類型,當(dāng)然我們也可以使用()來將所有的常量包起來

//常量必須賦值
const (
    minus int = 100
    plus int = 200
    add float64 = 300
)
枚舉

枚舉的話,與其他語言又不一樣了,go中沒有enum這么一個關(guān)鍵字來定義,而是依靠constiota

來定義枚舉

//枚舉  iota默認(rèn)為0
const (
    first  = iota;//默認(rèn)=0
    second
    three//=2
    four
)

iota定義的值默認(rèn)為0,后面每一行的值加一,比如three就為2了。

如果聲明多個常量時,都在同一行,那么值一樣

//枚舉  iota默認(rèn)為0
const (
    first  = iota;//默認(rèn)=0
    second
    three//=2
    four = iota
    five,six,seven = iota,iota,iota//都為4
)

學(xué)習(xí)的道路是曲折的,如果有什么問題,還望大家多多指教

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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