久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

go語言是什么時候出現的

go語言是谷歌2009發布的開源編程語言。Go語言最初由Google公司的Robert Griesemer、Ken Thompson和Rob Pike三個大牛于2007年開始設計發明,并于2009年正式對外發布;三名初始人最終的目標是設計一種適應網絡和多核時代的C語言,所以Go語言很多時候被描述為“類C語言”,或者是“21世紀的C語言”,Go從C繼承了相似的語法、編程思想等。

go語言是什么時候出現的

本教程操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

1. Go語言的出現

在具體學習go語言的基礎語法之前,我們來了解一下go語言出現的時機及其特點。

Go語言最初由Google公司的Robert Griesemer、Ken Thompson和Rob Pike三個大牛于2007年開始設計發明,于2009年11月開源,一開始在google內部作為一個20%的項目運行。

Go 語言起源 2007 年,并于 2009 年正式對外發布。它從 2009 年 9 月 21 日開始作為谷歌公司 20% 兼職項目,即相關員工利用 20% 的空余時間來參與 Go 語言的研發工作。

三名初始人最終的目標是設計一種適應網絡和多核時代的C語言,所以Go語言很多時候被描述為“類C語言”,或者是“21世紀的C語言”,當然從各種角度看,Go語言確實是從C語言繼承了相似的表達式語法、控制流結構、基礎數據類型、調用參數傳值、指針等諸多編程思想。但是Go語言更是對C語言最徹底的一次揚棄,它舍棄了C語言中靈活但是危險的指針運算,還重新設計了C語言中部分不太合理運算符的優先級,并在很多細微的地方都做了必要的打磨和改變。

2. go版本的hello world

在這一部分我們只是使用“hello world”的程序來向大家介紹一下go語言的所編寫的程序的基本組成。

package main import "fmt" func main() { 	// 終端輸出hello world 	fmt.Println("Hello world!") }
登錄后復制

和C語言相似,go語言的基本組成有:

  • 包聲明,編寫源文件時,必須在非注釋的第一行指明這個文件屬于哪個包,如package main
  • 引入包,其實就是告訴Go 編譯器這個程序需要使用的包,如import "fmt"其實就是引入了fmt包。
  • 函數,和c語言相同,即是一個可以實現某一個功能的函數體,每一個可執行程序中必須擁有一個main函數。
  • 變量,Go 語言變量名由字母、數字、下劃線組成,其中首個字符不能為數字。
  • 語句/表達式,在 Go 程序中,一行代表一個語句結束。每個語句不需要像 C 家族中的其它語言一樣以分號 ; 結尾,因為這些工作都將由 Go 編譯器自動完成。
  • 注釋,和c語言中的注釋方式相同,可以在任何地方使用以 // 開頭的單行注釋。以 /* 開頭,并以 */ 結尾來進行多行注釋,且不可以嵌套使用,多行注釋一般用于包的文檔描述或注釋成塊的代碼片段。

需要注意的是:標識符是用來命名變量、類型等程序實體。一個標識符實際上就是一個或是多個字母和數字、下劃線_組成的序列,但是第一個字符必須是字母或下劃線而不能是數字。

  • 當標識符(包括常量、變量、類型、函數名、結構字段等等)以一個大寫字母開頭,如:Group1,那么使用這種形式的標識符的對象就可以被外部包的代碼所使用(客戶端程序需要先導入這個包),這被稱為導出(像面向對象語言中的 public);

  • 標識符如果以小寫字母開頭,則對包外是不可見的,但是他們在整個包的內部是可見并且可用的(像面向對象語言中的 protected)。

3. 數據類型

在 Go 編程語言中,數據類型用于聲明函數和變量。

數據類型的出現是為了把數據分成所需內存大小不同的數據,編程的時候需要用大數據的時候才需要申請大內存,就可以充分利用內存。具體分類如下:

類型 詳解
布爾型 布爾型的值只可以是常量 true 或者 false。
數字類型 整型 int 和浮點型 float。Go 語言支持整型和浮點型數字,并且支持復數,其中位的運算采用補碼。
字符串類型 字符串就是一串固定長度的字符連接起來的字符序列。Go 的字符串是由單個字節連接起來的。Go 語言的字符串的字節使用 UTF-8 編碼標識 Unicode 文本。
派生類型 (a) 指針類型(Pointer)(b) 數組類型? 結構化類型(struct)(d) Channel 類型(e) 函數類型(f) 切片類型(g) 接口類型(interface)(h) Map 類型

3.0 定義變量

聲明變量的一般形式是使用 var 關鍵字,具體格式為:var identifier typename。如下的代碼中我們定義了一個類型為int的變量。

package main import "fmt" func main() { 	var a int = 27 	fmt.Println(a); }
登錄后復制

3.0.1 如果變量沒有初始化

在go語言中定義了一個變量,指定變量類型,如果沒有初始化,則變量默認為零值。零值就是變量沒有做初始化時系統默認設置的值

類型 零值
數值類型 0
布爾類型 false
字符串 “”(空字符串)

3.0.2 如果變量沒有指定類型

在go語言中如果沒有指定變量類型,可以通過變量的初始值來判斷變量類型。如下代碼

package main import "fmt" func main() {     var d = true     fmt.Println(d) }
登錄后復制

3.0.3 :=符號

當我們定義一個變量后又使用該符號初始化變量,就會產生編譯錯誤,因為該符號其實是一個聲明語句。

使用格式:typename := value

也就是說intVal := 1相等于:

var intVal int  intVal =1
登錄后復制

3.0.4 多變量聲明

可以同時聲明多個類型相同的變量(非全局變量),如下圖所示:

var x, y int var c, d int = 1, 2 g, h := 123, "hello"
登錄后復制

關于全局變量的聲明如下:
var ( vname1 v_type1 vname2 v_type2 )
具體舉例如下:

var (      a int     b bool )
登錄后復制

3.0.5 匿名變量

匿名變量的特點是一個下畫線_,這本身就是一個特殊的標識符,被稱為空白標識符。它可以像其他標識符那樣用于變量的聲明或賦值(任何類型都可以賦值給它),但任何賦給這個標識符的值都將被拋棄,因此這些值不能在后續的代碼中使用,也不可以使用這個標識符作為變量對其它變量進行賦值或運算。

使用匿名變量時,只需要在變量聲明的地方使用下畫線替換即可。

示例代碼如下:

    func GetData() (int, int) {         return 10, 20     }     func main(){         a, _ := GetData()         _, b := GetData()         fmt.Println(a, b)     }
登錄后復制

需要注意的是匿名變量不占用內存空間,不會分配內存。匿名變量與匿名變量之間也不會因為多次聲明而無法使用。

3.0.6 變量作用域

作用域指的是已聲明的標識符所表示的常量、類型、函數或者包在源代碼中的作用范圍,在此我們主要看一下go中變量的作用域,根據變量定義位置的不同,可以分為一下三個類型:

  • 函數內定義的變量為局部變量,這種局部變量的作用域只在函數體內,函數的參數和返回值變量都屬于局部變量。這種變量在存在于函數被調用時,銷毀于函數調用結束后。

  • 函數外定義的變量為全局變量,全局變量只需要在一個源文件中定義,就可以在所有源文件中使用,甚至可以使用import引入外部包來使用。全局變量聲明必須以 var 關鍵字開頭,如果想要在外部包中使用全局變量的首字母必須大寫

  • 函數定義中的變量成為形式參數,定義函數時函數名后面括號中的變量叫做形式參數(簡稱形參)。形式參數只在函數調用時才會生效,函數調用結束后就會被銷毀,在函數未被調用時,函數的形參并不占用實際的存儲單元,也沒有實際值。形式參數會作為函數的局部變量來使用

3.1 基本類型

類型 描述
uint8 / uint16 / uint32 / uint64 無符號 8 / 16 / 32 / 64位整型
int8 / int16 / int32 / int64 有符號8 / 16 / 32 / 64位整型
float32 / float64 IEEE-754 32 / 64 位浮點型數
complex64 / complex128 32 / 64 位實數和虛數
byte 類似 uint8
rune 類似 int32
uintptr 無符號整型,用于存放一個指針

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
日本免费新一区视频| 国产视频一区免费看| 亚洲资源在线| 在线日韩电影| 亚洲精品一区二区妖精| 亚洲欧美不卡| 蜜臀va亚洲va欧美va天堂 | 亚欧洲精品视频在线观看| 国产91在线播放精品| 日韩综合精品| 日韩午夜一区| 欧美在线看片| 另类综合日韩欧美亚洲| 中文字幕高清在线播放| 亚洲伊人av| 黄色成人精品网站| 日本不卡的三区四区五区| 国产日本精品| 另类专区亚洲| 99国产精品久久久久久久 | 国产成人精品亚洲线观看| 国产传媒在线观看| 9国产精品视频| 欧美私人啪啪vps| av资源中文在线天堂| 黄色免费成人| 日日夜夜免费精品视频| 久久精品国产福利| 99国产成+人+综合+亚洲欧美| 欧美亚洲二区| 日韩一区二区在线免费| 99国产精品自拍| 免费亚洲婷婷| 日韩一区网站| 色偷偷偷在线视频播放| 日本欧美在线看| 久久福利在线| 亚洲大片在线| 麻豆国产欧美一区二区三区 | 99亚洲视频| 免费成人性网站| 天堂成人免费av电影一区| 亚洲精品在线a| 日本不卡视频一二三区| 国产一区一一区高清不卡| 久久精品免费一区二区三区| 亚洲精品国模| 日韩精品一区二区三区中文| 久久久久国产精品一区二区| 日韩精品免费视频人成| 在线天堂资源www在线污| 亚洲精品观看| 久久亚洲道色| 亚洲欧美久久精品| 亚洲二区视频| 久久精品国产成人一区二区三区 | 国产成人精品一区二区免费看京| 久久电影一区| 日韩电影免费在线观看| 久久国际精品| 视频在线观看国产精品| 久久精品观看| 久久只有精品| 久久国产尿小便嘘嘘| 影音国产精品| 日韩av在线播放网址| 日韩精品久久理论片| 婷婷综合网站| 最近高清中文在线字幕在线观看1| 婷婷综合电影| 噜噜噜躁狠狠躁狠狠精品视频| 日本欧美不卡| 欧美激情麻豆| 高清不卡亚洲| 国产aa精品| 日韩中文字幕区一区有砖一区 | 午夜视频精品| 久久精品色播| 另类av一区二区| 亚洲网站视频| 国产精品亚洲一区二区三区在线观看| 国产韩日影视精品| 欧美亚洲国产激情| 三上悠亚国产精品一区二区三区| 国产精品1区| 国产精品久久久久久模特| 久久福利在线| 国产日本精品| 国产精品一国产精品| 午夜久久av| 99日韩精品| 国产女优一区| 亚洲欧美日韩国产一区| 亚洲a在线视频| 久久中文字幕av| 99久久99久久精品国产片果冰| 亚洲精品国产嫩草在线观看 | 精品国产91| 精品九九在线| 激情久久一区二区| 成人在线视频免费看| 在线天堂资源www在线污| 美女久久久精品| 久久国产视频网| 国产精品亚洲欧美一级在线| 国产乱码精品一区二区三区四区 | 日av在线不卡| 色8久久久久| 日韩高清中文字幕一区| 日韩精品一区二区三区免费视频 | 国产精品久久| 国产精品videossex| 国产精品成人3p一区二区三区| 亚洲欧洲午夜| 亚洲青青久久| 麻豆国产欧美一区二区三区| 激情黄产视频在线免费观看| 日韩精品网站| 欧美国产极品| 成人日韩在线观看| 欧美理论视频| 日韩一区中文| 国产伦精品一区二区三区视频| 亚洲精品一区二区在线播放∴| 涩涩涩久久久成人精品| 久久不见久久见中文字幕免费| 精品99久久| 欧美va天堂在线| 亚洲精品伦理| 精品一区二区三区免费看| 播放一区二区| 蜜桃视频免费观看一区| 欧美日韩一区二区三区在线电影| 视频一区中文字幕精品| 国产精品超碰| 私拍精品福利视频在线一区| 热久久免费视频| 国产精品久久久久77777丨| 福利一区二区免费视频| 黄色欧美日韩| 国产亚洲一卡2卡3卡4卡新区| 高清av一区| 蜜桃av一区二区在线观看| 国产精品欧美大片| 欧美a级片一区| 国产精品高清一区二区| 亚洲啊v在线| 亚洲综合色婷婷在线观看| 国产成人免费精品| 丝袜诱惑制服诱惑色一区在线观看| 国产欧美一区二区精品久久久 | 石原莉奈在线亚洲二区| 欧美精品1区| 亚洲精品一区二区妖精| 国产美女精品视频免费播放软件| 香蕉成人av| 日韩有码av| 婷婷精品进入| 精品亚洲二区| 欧美91视频| 国产精品激情| 免费日韩精品中文字幕视频在线| 国产精品天堂蜜av在线播放| 婷婷激情一区| 久久国产人妖系列| 热久久久久久久| 日本国产精品| 国产精品毛片久久久| 免播放器亚洲一区| 群体交乱之放荡娇妻一区二区| 日韩国产在线观看一区| 国产精品99一区二区| 国产精品久久久久久久久久久久久久久| 狠狠色综合网| 日韩av在线播放网址| 国产精品红桃| 日韩av黄色在线| 久久国产福利| 蜜桃精品在线| 美腿丝袜在线亚洲一区| 日韩在线麻豆| 亚洲无线一线二线三线区别av| 欧美韩一区二区| 亚洲久久视频| 成人在线视频区| 麻豆国产欧美日韩综合精品二区| 日韩一区二区三区在线看| 好吊一区二区三区| аⅴ资源天堂资源库在线| 国产精品主播| 久热精品在线| 欧美日韩国产传媒| 99久久精品网| 亚洲国产福利| 国产日本久久| 国产午夜一区| 婷婷视频一区二区三区| 免费人成网站在线观看欧美高清| 免费av一区| 免费成人网www|