亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Golang > 正文

詳解Golang編程中的常量與變量

2020-04-01 19:13:00
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了詳解Golang編程中的常量與變量,是Go語言入門學習中的基礎知識,需要的朋友可以參考下
 

Go語言常量
常量是指該程序可能無法在其執行期間改變的固定值。這些固定值也被稱為文字。

常量可以是任何像一個整型常量,一個浮點常量,字符常量或字符串文字的基本數據類型。還有枚舉常量。

常量是一樣,只是它們的值不能自己定義后進行修改常規變量處理。

整型常量
一個整數文字可以是十進制,八進制,或十六進制常數。前綴指定基或基數:0x或0X的十六進制,0表示八進制,并沒有為十進制。

一個整數文字也可以有一個后綴為U和L的組合,分別為無符號和長整型。后綴可以是大寫或小寫,并且可以以任意順序。

這里是整數常量的一些例子:

復制代碼代碼如下:

212         /* Legal */
215u        /* Legal */
0xFeeL      /* Legal */
078         /* Illegal: 8 is not an octal digit */
032UU       /* Illegal: cannot repeat a suffix */

以下是不同類型的整型常量的例子:
復制代碼代碼如下:

85         /* decimal */
0213       /* octal */
0x4b       /* hexadecimal */
30         /* int */
30u        /* unsigned int */
30l        /* long */
30ul       /* unsigned long */

浮點文本(常量)
浮點字面具有一個整數部分,一個小數點,一個小數部分,和一個指數部分。你可以表示十進制形式或指數形式浮點文字。

 

同時采用十進制形式表示,則必須包括小數點,指數,或兩者并用而指數形式表示,則必須包括整數部分,小數部分,或者兩者兼而有之。有符號的指數,通過e或E表示

下面是浮點面值的一些例子:

復制代碼代碼如下:

3.14159       /* Legal */
314159E-5L    /* Legal */
510E          /* Illegal: incomplete exponent */
210f          /* Illegal: no decimal or exponent */
.e55          /* Illegal: missing integer or fraction */

轉義序列
有一些字符在Go中,前面有一個反斜杠他們將有特殊的含義,它們被用來表示類似的換行符(/n)或制表符(/t)。在這里,有一些這樣的轉義序列代碼的列表:

 

詳解Golang編程中的常量與變量

以下為例子來說明一些轉義字符序列:

復制代碼代碼如下:

package main

 

import "fmt"

func main() {
   fmt.Printf("Hello/tWorld!")
}


當上述代碼被編譯和執行時,它產生了以下結果:
復制代碼代碼如下:

Hello   World!

字符串文字
字符串文字或常量用雙引號“”。一個字符串包含類似于字符文字字符:普通字符,轉義序列和通用字符。

 

您可以使用字符串和分隔使用空格打破一個長行成多行。

下面是字符串的一些例子。所有的三種形式是相同的字符串。

復制代碼代碼如下:

"hello, dear"

 

"hello, /

dear"

"hello, " "d" "ear"


const 關鍵字
您可以使用 const 前綴來聲明常量使用特定的類型如下:
復制代碼代碼如下:

const variable type = value;

下面的例子說明了它的細節:
復制代碼代碼如下:

package main

 

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)   
}


當上述代碼被編譯和執行時,它產生了以下結果:
復制代碼代碼如下:

value of area : 50

請注意,這是一個良好的編程習慣大寫定義常量。

 

Go語言變量
變量是什么,只不是給定到存儲區域,我們的程序可以操縱的名稱。在Go中每個變量具有特定的類型,它確定的大小和可變的存儲器的布局;能確定存儲器內存儲的值的范圍;和組操作可以施加到變量。

一個變量名可以由字母,數字和下劃線。它必須以字母或下劃線。大寫和小寫字母是不同的,因為Go是區分大小寫的。基于該基本類型在前面的章節中說明的那樣,將有以下基本變量類型:

詳解Golang編程中的常量與變量

Go編程語言也可以定義各種其他類型的變量,我們將在以后的章節列出,如:枚舉,指針,數組,結構,聯合,等等。對于本章覆蓋,讓我們只學習研究的基本變量類型。

在Go中變量定義:
一個變量的定義是指,告訴編譯器在哪里,有多少創建存儲變量。變量定義指定一個數據類型,并且包含的該類型,如下的一個或多個變量的列表:

復制代碼代碼如下:

var variable_list optional_data_type;

在這里,optional_data_type可以包括字節,整型,float32,complex64,布爾或任何用戶定義的對象等有效Go的數據類型,variable_list可以由用逗號分隔的一個或多個標識符名稱。一些有效的聲明如下所示:
復制代碼代碼如下:

var    i, j, k int;
var   c, ch byte;
var  f, salary float32;
d = 42;

這一行var i, j, k; 既聲明并定義了變量i,j和k;這指示編譯器創建一個名為i,j和k的 int類型變量。

 

變量可以初始化(分配初始值)在他們的聲明。變量的類型是由編譯器自動根據傳遞給它的值判斷。初始化包括一個等號后跟一個常量表達式如下:

復制代碼代碼如下:

variable_name = value;

一些實例是:
復制代碼代碼如下:

d = 3, f = 5;    // declaration of d and f. Here d and f are int 

對于沒有初始化定義:具有靜態存儲時間變量的隱含零初始化(所有字節的值為0);所有其它變量的初始值是它們的數據類型的零值。

 

靜態類型聲明
靜態類型的變量聲明保障到編譯器,有一個變量存在具有給定類型和名稱,這樣編譯器進行進一步的編輯,而不需要對變量的完整細節。變量聲明有其意義在編譯時止,編譯器需要實際的變量聲明在鏈接程序時。

示例
試試下面的例子,其中變量已經被聲明為有型,并且已被定義及主要函數內部初始化:

復制代碼代碼如下:

package main

 

import "fmt"

func main() {
   var x float64
   x = 20.0
   fmt.Println(x)
   fmt.Printf("x is of type %T/n", x)
}


讓我們編譯和運行上面的程序,這將產生以下結果:
復制代碼代碼如下:

20
x is of type float64

動態類型聲明/類型推斷
動態類型變量聲明要求編譯器解釋的基礎上傳遞給它值變量的類型。編譯器不需要一個變量靜態有類型的必然要求。

 

示例
試試下面的例子,其中的變量已經聲明沒有任何類型的,并已確定在主函數中初始化。如果類型推斷的,我們已經初始化的變量y使用:=運算符,x初始化使用=運算符。

復制代碼代碼如下:

package main

 

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) 
}


讓我們編譯和運行上面的程序,這將產生以下結果:
復制代碼代碼如下:

20
42
x is of type float64
y is of type int

混合變量聲明
不同類型的變量可以一步到位使用類型推斷聲明。

 

例子

復制代碼代碼如下:

package main

 

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)
}


讓我們編譯和運行上面的程序,這將產生以下結果:
復制代碼代碼如下:

3
4
foo
a is of type int
b is of type int
c is of type string

在Go中的左值和右值:
在Go中有兩種表達式:

 

lvalue : 引用一個存儲器位置的表達式被稱為“左值”表達。左值可能顯示為任一左手或賦值的右側。

rvalue : 術語右值是指被存儲在存儲器中的某些地址的數據值。右值是不能分配給它的值,這意味著右值可能出現在賦值的右側而不是左側的表達式。

變量是左值等都可能出現在賦值的左側。數字文字是右值,因此可能不會被分配,不能出現在左側。下面是一個有效語句:

復制代碼代碼如下:

 x = 20.0

但是,下面是不是一個有效的聲明,并會產生編譯時錯誤:
復制代碼代碼如下:

10 = 20

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中日韩美女免费视频网站在线观看| 久久中文字幕视频| 亚洲**2019国产| 久久久99免费视频| 国产日韩在线精品av| 久久综合久久美利坚合众国| 色视频www在线播放国产成人| 成人字幕网zmw| 欧美成人精品一区二区三区| 欧美主播福利视频| 日韩在线激情视频| 成人精品久久一区二区三区| 精品亚洲一区二区| 91精品国产色综合| 欧美激情视频网址| 亚洲天堂影视av| 97国产精品人人爽人人做| 亚洲人成五月天| 国产亚洲欧美一区| 成人午夜黄色影院| 中文字幕成人在线| 欧美伊久线香蕉线新在线| 国产精品h在线观看| 欧美亚洲国产另类| 亚洲二区中文字幕| 欧美日韩国产综合视频在线观看中文| 高潮白浆女日韩av免费看| 亚洲天堂网在线观看| 久久久国产精品x99av| 日本aⅴ大伊香蕉精品视频| 亚洲国产精品成人va在线观看| 韩国美女主播一区| 亚洲精品成人久久电影| 欧美最猛黑人xxxx黑人猛叫黄| 久久的精品视频| 久久久精品日本| 亚洲国产成人久久综合一区| 久久久久久国产精品三级玉女聊斋| 欧美激情精品在线| 狠狠色狠狠色综合日日五| 少妇精69xxtheporn| 欧美裸体视频网站| 视频在线观看99| 亚洲美腿欧美激情另类| 国产极品jizzhd欧美| 日韩高清不卡av| 免费99精品国产自在在线| 精品国产一区二区在线| 久久免费在线观看| 丝袜亚洲另类欧美重口| 成人激情春色网| 欧美精品久久久久久久久久| 国产一区二区三区三区在线观看| 成人午夜黄色影院| 亚洲国产91精品在线观看| 亚洲精品久久久久久久久久久久久| 国产精品户外野外| 亚洲国产精品va在线看黑人| 亚洲色图国产精品| 92国产精品视频| 国产在线高清精品| 亚洲一区二区免费| 亚洲精品国产拍免费91在线| 色爱精品视频一区| 国产主播精品在线| 久久久成人精品视频| 欧美高清理论片| 国产精品亚洲片夜色在线| 欧美一区亚洲一区| 成人中心免费视频| 欧美最顶级的aⅴ艳星| 久久久国产一区二区三区| 日韩精品欧美激情| 色偷偷偷综合中文字幕;dd| 亚洲精品欧美一区二区三区| 国产色视频一区| 久久久久久久久亚洲| 精品国产31久久久久久| 北条麻妃一区二区三区中文字幕| 97国产精品久久| 欧美亚洲另类在线| 精品国产成人av| 国产精品久久久久9999| 色妞欧美日韩在线| 久久99久久99精品免观看粉嫩| 国产精品99久久久久久www| 青青草原一区二区| 奇门遁甲1982国语版免费观看高清| 日韩黄色高清视频| 国产精品视频99| 亚洲人成电影网站色| 亚洲网站在线播放| 日韩精品电影网| 欧美精品免费播放| 色噜噜亚洲精品中文字幕| 亚洲自拍av在线| 欧美亚洲成人xxx| 亚洲影视中文字幕| 欧美日韩国产精品专区| 国产一区二区三区视频| 理论片在线不卡免费观看| 国产精品视频在线观看| 精品国产成人在线| 亚洲第一精品夜夜躁人人躁| 久久久久久久久久久久久久久久久久av| 亚洲福利精品在线| 91在线免费视频| 国产日韩欧美视频| 欧美精品午夜视频| 国内免费精品永久在线视频| 97在线日本国产| 久久精品视频在线播放| 欧美激情一区二区久久久| 精品无人区乱码1区2区3区在线| 欧美激情精品久久久| 久久精品久久久久久| 久久手机免费视频| 国产成人综合一区二区三区| 一区二区三区视频观看| 91日本视频在线| 日韩在线免费视频观看| 热门国产精品亚洲第一区在线| 一区二区三区久久精品| 久久久精品国产一区二区| 国产亚洲欧美一区| 日本欧美中文字幕| 欧美性开放视频| 欧美日韩亚洲激情| 欧美在线性爱视频| 亚洲综合一区二区不卡| 欧美激情中文网| 欧美在线不卡区| 欧美巨大黑人极品精男| 热re91久久精品国99热蜜臀| 国产精品久久久久久av福利| 日韩免费观看在线观看| 国产欧美最新羞羞视频在线观看| 成人精品久久一区二区三区| 国产高清视频一区三区| 欧美亚洲国产日韩2020| 亚洲第一免费网站| 91在线视频免费| 最近2019中文字幕一页二页| 国产精品中文字幕在线观看| 韩国三级日本三级少妇99| 日本不卡视频在线播放| 久久久成人的性感天堂| 国产亚洲欧美日韩一区二区| 久久人91精品久久久久久不卡| 久久久噜久噜久久综合| 欧美最顶级丰满的aⅴ艳星| 中文字幕自拍vr一区二区三区| 精品国产一区二区三区久久久狼| 97avcom| 日韩视频免费中文字幕| 久久成人精品电影| 日韩精品在线视频| 精品一区二区三区三区| 欧美日韩国产精品专区| 国产aⅴ夜夜欢一区二区三区| 日本欧美爱爱爱| 亚洲第五色综合网| 狠狠久久亚洲欧美专区| 亚洲人成自拍网站|