Go語(yǔ)言常量
常量是指該程序可能無(wú)法在其執(zhí)行期間改變的固定值。這些固定值也被稱為文字。
常量可以是任何像一個(gè)整型常量,一個(gè)浮點(diǎn)常量,字符常量或字符串文字的基本數(shù)據(jù)類型。還有枚舉常量。
常量是一樣,只是它們的值不能自己定義后進(jìn)行修改常規(guī)變量處理。
整型常量
一個(gè)整數(shù)文字可以是十進(jìn)制,八進(jìn)制,或十六進(jìn)制常數(shù)。前綴指定基或基數(shù):0x或0X的十六進(jìn)制,0表示八進(jìn)制,并沒(méi)有為十進(jìn)制。
一個(gè)整數(shù)文字也可以有一個(gè)后綴為U和L的組合,分別為無(wú)符號(hào)和長(zhǎng)整型。后綴可以是大寫或小寫,并且可以以任意順序。
這里是整數(shù)常量的一些例子:
同時(shí)采用十進(jìn)制形式表示,則必須包括小數(shù)點(diǎn),指數(shù),或兩者并用而指數(shù)形式表示,則必須包括整數(shù)部分,小數(shù)部分,或者兩者兼而有之。有符號(hào)的指數(shù),通過(guò)e或E表示
下面是浮點(diǎn)面值的一些例子:
以下為例子來(lái)說(shuō)明一些轉(zhuǎn)義字符序列:
import "fmt"
func main() {
fmt.Printf("Hello\tWorld!")
}
您可以使用字符串和分隔使用空格打破一個(gè)長(zhǎng)行成多行。
下面是字符串的一些例子。所有的三種形式是相同的字符串。
"hello, \
dear"
"hello, " "d" "ear"
import "fmt"
func main() {
const LENGTH int = 10
const WIDTH int = 5
var area int
area = LENGTH * WIDTH
fmt.Printf("value of area : %d", area)
}
Go語(yǔ)言變量
變量是什么,只不是給定到存儲(chǔ)區(qū)域,我們的程序可以操縱的名稱。在Go中每個(gè)變量具有特定的類型,它確定的大小和可變的存儲(chǔ)器的布局;能確定存儲(chǔ)器內(nèi)存儲(chǔ)的值的范圍;和組操作可以施加到變量。
一個(gè)變量名可以由字母,數(shù)字和下劃線。它必須以字母或下劃線。大寫和小寫字母是不同的,因?yàn)镚o是區(qū)分大小寫的?;谠摶绢愋驮谇懊娴恼鹿?jié)中說(shuō)明的那樣,將有以下基本變量類型:
Go編程語(yǔ)言也可以定義各種其他類型的變量,我們將在以后的章節(jié)列出,如:枚舉,指針,數(shù)組,結(jié)構(gòu),聯(lián)合,等等。對(duì)于本章覆蓋,讓我們只學(xué)習(xí)研究的基本變量類型。
在Go中變量定義:
一個(gè)變量的定義是指,告訴編譯器在哪里,有多少創(chuàng)建存儲(chǔ)變量。變量定義指定一個(gè)數(shù)據(jù)類型,并且包含的該類型,如下的一個(gè)或多個(gè)變量的列表:
變量可以初始化(分配初始值)在他們的聲明。變量的類型是由編譯器自動(dòng)根據(jù)傳遞給它的值判斷。初始化包括一個(gè)等號(hào)后跟一個(gè)常量表達(dá)式如下:
靜態(tài)類型聲明
靜態(tài)類型的變量聲明保障到編譯器,有一個(gè)變量存在具有給定類型和名稱,這樣編譯器進(jìn)行進(jìn)一步的編輯,而不需要對(duì)變量的完整細(xì)節(jié)。變量聲明有其意義在編譯時(shí)止,編譯器需要實(shí)際的變量聲明在鏈接程序時(shí)。
示例
試試下面的例子,其中變量已經(jīng)被聲明為有型,并且已被定義及主要函數(shù)內(nèi)部初始化:
import "fmt"
func main() {
var x float64
x = 20.0
fmt.Println(x)
fmt.Printf("x is of type %T\n", x)
}
示例
試試下面的例子,其中的變量已經(jīng)聲明沒(méi)有任何類型的,并已確定在主函數(shù)中初始化。如果類型推斷的,我們已經(jīng)初始化的變量y使用:=運(yùn)算符,x初始化使用=運(yùn)算符。
import "fmt"
func main() {
var x float64 = 20.0
y := 42
fmt.Println(x)
fmt.Println(y)
fmt.Printf("x is of type %T\n", x)
fmt.Printf("y is of type %T\n", y)
}
例子
import "fmt"
func main() {
var a, b, c = 3, 4, "foo"
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
fmt.Printf("a is of type %T\n", a)
fmt.Printf("b is of type %T\n", b)
fmt.Printf("c is of type %T\n", c)
}
lvalue : 引用一個(gè)存儲(chǔ)器位置的表達(dá)式被稱為“左值”表達(dá)。左值可能顯示為任一左手或賦值的右側(cè)。
rvalue : 術(shù)語(yǔ)右值是指被存儲(chǔ)在存儲(chǔ)器中的某些地址的數(shù)據(jù)值。右值是不能分配給它的值,這意味著右值可能出現(xiàn)在賦值的右側(cè)而不是左側(cè)的表達(dá)式。
變量是左值等都可能出現(xiàn)在賦值的左側(cè)。數(shù)字文字是右值,因此可能不會(huì)被分配,不能出現(xiàn)在左側(cè)。下面是一個(gè)有效語(yǔ)句:
標(biāo)簽:宜昌 盤錦 紹興 眉山 上海 七臺(tái)河 雅安 邢臺(tái)
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解Golang編程中的常量與變量》,本文關(guān)鍵詞 詳解,Golang,編程,中的,常量,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。