国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Golang - GO語言基本數據類型總結

GO語言基本數據類型總結

2020-04-12 13:55shichen2014 Golang

這篇文章主要介紹了GO語言基本數據類型,較為詳細的總結了GO語言的基本數據類型,對于GO語言的學習有一定的借鑒參考價值,需要的朋友可以參考下

本文實例總結了GO語言基本數據類型。分享給大家供大家參考。具體如下:

1、注釋(與C++一樣)

行注釋://塊注釋:/* ...*/

2、標識符

可以這么說,除了數字開頭的不允許,符號開頭的不允許,關鍵字不允許,其他的Unicode字符組合都可以。“_33”也可以是標識符、“我們”也可以是標識符。標識符也區分大小寫。

(1)、以大寫字母開頭的標識符是公開的。(這個很有意思)

(2)、其他任何標識符都是私有的。 

(3)、空標識符“_”是一個占位符,用于賦值操作的時候,丟棄、忽略某個值。通常這樣用:

go的方法一般會返回2個值,一個通常的返回、一個錯誤標識。如 fmt.Println(x)會返回2個值,一個是打印的字節數,一個是相應的error值,那么 count,_ = fmt.Println(x) 這行代碼就忽略了相應的error值。

3、常量——用const關鍵字聲明

(1)可以自動推斷類型,

如:

復制代碼 代碼如下:
const a = 5

 

(2)可以顯式指定類型,

如:

復制代碼 代碼如下:
const a int16 = 6// int16是一個整形類型

 

(PS:go語言常量、變量定義的格式均為:

關鍵字 常量(變量)名 類型 = 值)

(3)可以一次聲明多個常量,

如:const ( a = 0 ; b = 2),這叫分組聲明。此時,第一個常量被默認設置為0,后續的常量默認設置為前面常量的表達式。

(PS: 但是希望用const (a b)表示a=0,b=0這樣的是不行的,常量分組定義,第一個常量必須賦值、或為iota)

(PPS:注意,go語言中一般不需要分號來表示分隔,編譯器會自動在每行的末尾添加分號,當然,添加分號也沒有錯,不過像liteide這樣的IDE的自動格式化一般會幫你把分號刪除,然后幫你換行)

(4)關鍵字iota表示連續的無類型的整數常量,iota默認為0,并逐步遞增。

即,

復制代碼 代碼如下:
const(a = iota; b ; c )

表示b和c此時都為iota,所以a為0,b為1,c為2。

 

(5)一行多個賦值中,iota不相互影響。每次iota出現,它的值為0,如:

復制代碼 代碼如下:
const (
        i, j, k = 2 * iota, iota, iota + 2
        m, n, l
)


 此時,i、j的值均為0,k的值為2,m、n、l 的值分別為2 、1 、3

 

(PS:go語言支持一行賦多個值)

4、變量

變量有2種定義方式:

(1)一種是用關鍵字var ,

例如:

復制代碼 代碼如下:
var i int //這里會自動設置默認值0,如果是字符串,默認為空

 

或者:

復制代碼 代碼如下:
var i = 8 //聲明同時賦值,自動推導其類型

 

或者:

復制代碼 代碼如下:
var k int = 16 //指明類型,聲明并賦值

 

或者:

復制代碼 代碼如下:
var ( a int; b int; c int) //分組聲明,跟常量類似。

 

(2)另一種是用快速變量聲明,就是用 := 操作符,它會聲明并初始化一個變量,可以自動推導類型。不過這種聲明有一個限制,它只能在函數內部使用,在函數外部會報錯。

如:

復制代碼 代碼如下:
name := "chandler qian" //自動推導類型為string

 

值得注意到是,:=操作符是聲明并初始化,就是說,在同一個作用域內,這個變量必須未聲明過,不然是錯誤。如下:

復制代碼 代碼如下:
k, b := 7, 8
    fmt.Printf("before k=%d,b=%d\n", k, b)
    if k := 1; k != -1 {
        b := 3
        fmt.Printf("inner k=%d,b=%d\n", k, b)
    }
    fmt.Printf("after k=%d,b=%d\n", k, b)

 

在下面的 if 作用于內,k、b重新用:=聲明賦值,但沒問題,因為出了 if 作用域,它們就消失了。

結果為:

before k=7,b=8
inner k=1,b=3
after k=7,b=8

而 if語句改為這樣:

復制代碼 代碼如下:
if k = 1; k != -1 {
    b := 3
    fmt.Printf("inner k=%d,b=%d\n", k, b)
}


那么最后的輸出就是:

 

before k=7,b=8
inner k=1,b=3
after k=1,b=8

可見,“=” 是全局作用的賦值,而,“:=” 則會在自己的作用域內創建變量并賦值。

(3)整形字面量的類型會自動推斷為int,浮點字面量會自動推斷為float64,復數字面量會自動推斷為complex128

5、布爾

Go語言會嚴格篩選使用比較操作符(<、<=、==、!=、>=、>)進行比較的值。這兩個值必須是相同類型或實現了相同的接口。如:

復制代碼 代碼如下:
func test0() {
    var a int = 5
    var b float32 = 4.4
    if a > b {
        fmt.Println(">")
    }
}

 

由于a和b類型不匹配,所以編譯錯誤:invalid operation: a > b (mismatched types int and float32),再看下面這個:

復制代碼 代碼如下:
func test1() {
    var b float32 = 4.4
    if b > 7 {
        fmt.Println(">")
    }
}


這個是可以的,雖然類型不匹配,但是b與無類型的整形數值常量7比較。無類型的數值常量可以用于任何比較。

 

希望本文所述對大家的GO語言程序設計有所幫助。

延伸 · 閱讀

精彩推薦
  • Golanggolang 通過ssh代理連接mysql的操作

    golang 通過ssh代理連接mysql的操作

    這篇文章主要介紹了golang 通過ssh代理連接mysql的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    a165861639710342021-03-08
  • Golanggo語言制作端口掃描器

    go語言制作端口掃描器

    本文給大家分享的是使用go語言編寫的TCP端口掃描器,可以選擇IP范圍,掃描的端口,以及多線程,有需要的小伙伴可以參考下。 ...

    腳本之家3642020-04-25
  • Golanggolang如何使用struct的tag屬性的詳細介紹

    golang如何使用struct的tag屬性的詳細介紹

    這篇文章主要介紹了golang如何使用struct的tag屬性的詳細介紹,從例子說起,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看...

    Go語言中文網11352020-05-21
  • Golanggolang json.Marshal 特殊html字符被轉義的解決方法

    golang json.Marshal 特殊html字符被轉義的解決方法

    今天小編就為大家分享一篇golang json.Marshal 特殊html字符被轉義的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 ...

    李浩的life12792020-05-27
  • Golanggolang的httpserver優雅重啟方法詳解

    golang的httpserver優雅重啟方法詳解

    這篇文章主要給大家介紹了關于golang的httpserver優雅重啟的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,...

    helight2992020-05-14
  • Golanggo日志系統logrus顯示文件和行號的操作

    go日志系統logrus顯示文件和行號的操作

    這篇文章主要介紹了go日志系統logrus顯示文件和行號的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    SmallQinYan12302021-02-02
  • GolangGolang通脈之數據類型詳情

    Golang通脈之數據類型詳情

    這篇文章主要介紹了Golang通脈之數據類型,在編程語言中標識符就是定義的具有某種意義的詞,比如變量名、常量名、函數名等等,Go語言中標識符允許由...

    4272021-11-24
  • GolangGolang中Bit數組的實現方式

    Golang中Bit數組的實現方式

    這篇文章主要介紹了Golang中Bit數組的實現方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧...

    天易獨尊11682021-06-09
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 神马久久久久久久 | 精品久久中文字幕 | 成人欧美一区二区三区视频xxx | 日韩精品一区二区三区四区五区 | av网址在线播放 | 精品视频| 亚洲美女网站 | 亚洲美女网址 | 成人免费视频网站 | 国产欧美综合一区二区三区 | 欧美日韩精品一区二区三区四区 | 欧美精品久久久 | 亚洲欧美日韩在线 | 久久99精品久久久久久水蜜桃 | 亚洲精品中文字幕 | 成人av在线播放 | 日韩超碰 | 九九av| 懂色av成人一区二区三区 | 日韩精品日韩激情日韩综合 | 日日操操 | 免费啪啪网站 | 欧美99| 国产精品视频久久 | 精品亚洲一区二区三区四区五区 | 黄久久久| 亚洲午夜电影 | 免费污片网站 | 久久久精品在线 | 精品久久国产老人久久综合 | 国产精品毛片久久久久久久 | 欧美一级二级视频 | 国产成人精品一区二区三区视频 | 亚洲精品九九 | 久久久久亚洲 | 色av网| 欧美性hd| 国产麻豆乱码精品一区二区三区 | 中文二区| 九九九亚洲 | www.av在线 |