婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Golang學(xué)習(xí)筆記(二):類型、變量、常量

Golang學(xué)習(xí)筆記(二):類型、變量、常量

熱門標(biāo)簽:浙江人工智能外呼管理系統(tǒng) 騰訊外呼系統(tǒng)價格 電銷機(jī)器人可以補(bǔ)救房產(chǎn)中介嗎 谷歌便利店地圖標(biāo)注 成都呼叫中心外呼系統(tǒng)平臺 電梯外呼訪客系統(tǒng) ?兓? 最短的地圖標(biāo)注 百度地圖標(biāo)注搜索關(guān)鍵詞

基本類型

1.基本類型列表

復(fù)制代碼 代碼如下:

類型        長度     說明
bool         1      true/false,默認(rèn)false, 不能把非0值當(dāng)做true(不用數(shù)字代表true/false)
byte         1      uint8 別名
rune         4      int32別名。 代表一個unicode code point
int/unit            一來所運行的平臺,32bit/64bit
int8/uint8   1     -128 ~ 127; 0 ~ 255
int16/uint16 2     -32768 ~ 32767; 0 ~ 65535
int32/uint32 4     -21億 ~ 21億, 0 ~ 42億
int64/uint64 8

float32      4     精確到7位小數(shù),相當(dāng)于c的float
float64      8     精確到15位小數(shù),相當(dāng)于c的double

complex64    8
complex128   16

uintptr            足夠保存指針的32位、64位整數(shù),指針(可以存指針的整數(shù)型)
array              值類型,數(shù)組
struct             值類型,結(jié)構(gòu)體
string             值類型,字符串類型,常用
slice              引用類型,切片
map                引用類型,字典
channel            引用類型,通道
interface          接口類型,接口
function           函數(shù)類型,函數(shù)

2.類型轉(zhuǎn)換

不支持隱式類型轉(zhuǎn)換,必須進(jìn)行顯式類型轉(zhuǎn)換

轉(zhuǎn)換只發(fā)生在兩種互相兼容的類型之間: 各類int不允許相互賦值或操作,不然會在編譯時報錯

復(fù)制代碼 代碼如下:

type>(expression)

示例
復(fù)制代碼 代碼如下:

package main
import "fmt"

func main(){
    a := 0x1234
    b := 1234.56
    c := 256

    fmt.Printf("%x\n", uint8(a))
    fmt.Printf("%d\n", int(b))
    fmt.Printf("%f\n", float64(c))
}


結(jié)果
復(fù)制代碼 代碼如下:

34
1234
256.000000

3.類型別名

復(fù)制代碼 代碼如下:

type t_str string
var b t_str = "a str"

4.類型默認(rèn)值

聲明不賦值,類型零值,非空值,而是聲明后的默認(rèn)值

復(fù)制代碼 代碼如下:

bool: false
integers: 0
floats: 0.0
string: ""
pointers,functions,interfaces,slices,channels,maps: nil

保留字

復(fù)制代碼 代碼如下:

break      case   chan     const        continue
default    defer  else     fallthrough  for
func       go     goto     if           import
interface  map    package  range        return
select     struct switch   type         var

變量

1.變量聲明

復(fù)制代碼 代碼如下:

//第一種,指定變量類型,聲明后若不賦值,使用默認(rèn)值
var v_name v_type
v_name = value

//第二種,根據(jù)值自行判定變量類型
var v_name = value

//第三種,省略var, 注意 :=左側(cè)的變量不應(yīng)該是已經(jīng)聲明過的,否則會導(dǎo)致編譯錯誤.
v_name := value

e.g.
var a int = 10
var b = 10
c : = 10

示例:

復(fù)制代碼 代碼如下:

package main
var a = 1234
var b string = "hello"
var c bool

func main(){
    println(a, b, c)
}

結(jié)果:

復(fù)制代碼 代碼如下:

1234 hello false

2.多變量聲明:

復(fù)制代碼 代碼如下:

//類型相同多個變量, 非全局變量
var vname1, vname2, vname3 type
vname1, vname2, vname3 = v1, v2, v3

var vname1, vname2, vname3 = v1, v2, v3 //和python很像,不需要顯示聲明類型,自動推斷

vname1, vname2, vname3 := v1, v2, v3 //出現(xiàn)在:=左側(cè)的變量不應(yīng)該是已經(jīng)被聲明過的,否則會導(dǎo)致編譯錯誤


//類型不同多個變量, 全局變量, 局部變量不能使用這種方式
var (
    vname1 v_type1
    vname2 v_type2
)


示例:
復(fù)制代碼 代碼如下:

package main

var x, y int
var (  //這種只能出現(xiàn)在全局變量中,函數(shù)體內(nèi)不支持
    a int
    b bool
)

var c, d int = 1, 2
var e, f = 123, "hello"

//這種不帶聲明格式的只能在函數(shù)體中出現(xiàn)
//g, h := 123, "hello"

func main(){
    g, h := 123, "hello"
    println(x, y, a, b, c, d, e, f, g, h)
}


結(jié)果:
復(fù)制代碼 代碼如下:

0 0 0 false 1 2 123 hello 123 hello

注意:

A.多變量賦值時,將先行計算所有左側(cè)變量的值,再進(jìn)行賦值

復(fù)制代碼 代碼如下:

    i := 0
    i, l[i] = 1, 2
    //get i = 1, l[0] = 2


    sc[0], sc[0] = 1, 2
    //get sc[0] = 2


B.垃圾桶_
復(fù)制代碼 代碼如下:

    func test()(int, string) {
        return 123, "abc"
    }

    a, _ := test()

C.已聲明但是沒有使用的變量會在編譯階段報錯,較Python 更為嚴(yán)格

常量

常量可以是字符,字符串,布爾或數(shù)字

常量賦值是編譯期的行為

1.常量聲明

在編譯階段就能確定下來的值,在運行時無法改變該值
常量可以定義為數(shù)值、布爾值或字符串等類型

復(fù)制代碼 代碼如下:

const constantName = value
const Pi float32 = 3.1415926

const c_name [type] = value
const c_name1, c_name2 = value1, value2
const (
    c_name1 = vluae1
    c_name2 = value2
)

=右側(cè),必須為常量或常量表達(dá)式,如果使用到了函數(shù),必須為內(nèi)置函數(shù)(編譯期行為)

const i = 10000

說明:

復(fù)制代碼 代碼如下:

A.常量必須是編譯期能確定的Number(char/integer/float/complex)、String和bool

B.在定義常量數(shù)組時,如果不提供初始化值,則表示與上行常量類型,值,完全相同

    const (
        a = "abc"
        b
    )
    //則 b = "abc"

C.常量可以用len(), cap(), unsafe.Sizeof()常量計算表達(dá)式的值.  常量表達(dá)式中,函數(shù)必須是內(nèi)置函數(shù),否則編譯不過

    package main

    import "unsafe"
    const (
        a = "abc"
        b = len(a)
        c = unsafe.Sizeof(a)
    )

    func main(){
        println(a, b, c)
    }


結(jié)果:    abc 3 16

枚舉

iota,特殊常量,可以認(rèn)為是一個可以被編譯器修改的常量

在每一個const關(guān)鍵字出現(xiàn)時,被重置為0,然后再下一個const出現(xiàn)之前,每出現(xiàn)一次iota,其所代表的數(shù)字會自動增加1

不提供初始值,則表示使用上一行的表達(dá)式

1.聲明:

iota生成從0開始的自動增長枚舉值,意味著,多一個枚舉值,iota+=1,無論是否使用

基本語法

復(fù)制代碼 代碼如下:

const (
    a = 1
    b = 2
)

const (
    a = iota //0
    b  //1
    c  //2
)

const (
    _ = iota
    a    //1
    b    //2
)

iota用法

復(fù)制代碼 代碼如下:

func main() {
    const (
            a = iota  //0
            b   //1
            c   //2
            d = "ha"  //獨立值,iota += 1
            e    //"ha"   iota += 1
            f = 100    //iota +=1
            g     //100  iota +=1
            h = iota  //7,恢復(fù)計數(shù)
            i      //8
    )

}

const (
    x = iota // 0
    y = iota // 1
    z = iota // 2
    w //省略,默認(rèn)和前面一樣字面值   w = iota, 即3
)
const v = iota //遇到const關(guān)鍵字,iota重置

注意: 每行的變量數(shù)必須一致 const ( A, B = iota, iota C, D E, F )

復(fù)制代碼 代碼如下:

func main() {
    println(A,B,C,D,E,F)
}

//結(jié)果: 0 0 1 1 2 2   【各自增長】

運算符

Go運算符全部是從左到右結(jié)合的

不支持運算符重載

復(fù)制代碼 代碼如下:

優(yōu)先級    運算符                        說明
  高   * / % >> ^(AND NOT)
       + - ! ^
       == != = > >=
       -                             channel運算符
      
  低   ||

在go中,++ --為語句,而非表達(dá)式
復(fù)制代碼 代碼如下:

package main

func main(){
    i := 1
    i ++
    println(i)

    b := i
    println(b)

    //syntax error: unexpected ++, expecting semicolon or newline or }
    //c := i++
    //意味著, ++/--不能出現(xiàn)在等號右側(cè)
}

指針

Go保留了指針, *T表示T對應(yīng)的指針類型

如果包含包名, 則應(yīng)該是 *.T

代表指針類型的符號 '*' 總是和類型放在一起,而不是緊挨著變量名

同樣支持指針的指針**T

1.聲明

復(fù)制代碼 代碼如下:

var a, b *int

2.說明
復(fù)制代碼 代碼如下:

操作符取變量地址,用*透過指針變量間接訪問目標(biāo)對象
默認(rèn)值是nil,沒有NULL常量
不支持指針運算,不支持‘->'預(yù)算福,直接'.'選擇符操作指針目標(biāo)對象成員
可以在unsafe.Pointer和任意類型指針間進(jìn)行轉(zhuǎn)換
可以將unsafe.Pointer轉(zhuǎn)換為uintptr,然后變相做指針運算,uintptr可以轉(zhuǎn)換為整數(shù)

3.示例

復(fù)制代碼 代碼如下:

package main
import "fmt"

type User struct {
    Id int
    Name string
}
func main(){
    i := 100
    var p *int = i  //取地址

    println(*p)   //取值


    up := User{1, "Jack"}
    up.Id = 100  //直接取只針對想成員
    fmt.Println(up)

    u2 := *up  //拷貝對象
    u2.Name = "Tom"
    fmt.Println(up, u2)
}

4.結(jié)果:

復(fù)制代碼 代碼如下:

100
{100 Jack}
{100 Jack} {100 Tom}

分組聲明
復(fù)制代碼 代碼如下:

import (
    "fmt"
    "os"
)

const (
    i = 100  //首行必須有常量表達(dá)式
    pi = 3.1415
)

var (  //全局變量可用,函數(shù)體內(nèi)不支持
    i int
    pi float32
)

您可能感興趣的文章:
  • 詳解Golang編程中的常量與變量
  • Golang常量iota的使用實例
  • 手把手帶你走進(jìn)Go語言之常量解析

標(biāo)簽:紹興 雅安 宜昌 七臺河 上海 盤錦 眉山 邢臺

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Golang學(xué)習(xí)筆記(二):類型、變量、常量》,本文關(guān)鍵詞  Golang,學(xué)習(xí),筆記,二,類型,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Golang學(xué)習(xí)筆記(二):類型、變量、常量》相關(guān)的同類信息!
  • 本頁收集關(guān)于Golang學(xué)習(xí)筆記(二):類型、變量、常量的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    91精品国产综合久久精品麻豆| 国产a区久久久| 国产精品美女久久久久久| 国产精品香蕉一区二区三区| 国产精品久久久久一区二区三区共| 国产免费成人在线视频| 亚洲综合精品自拍| 久久精品国产成人一区二区三区 | 国产精品麻豆一区二区| 久久国内精品自在自线400部| 欧美日韩在线直播| 亚洲自拍偷拍麻豆| 国产色一区二区| 91国偷自产一区二区开放时间 | 国内精品伊人久久久久av影院 | 亚洲精品成a人| 色诱视频网站一区| 欧美韩日一区二区三区四区| 蜜臀av性久久久久蜜臀aⅴ四虎| 91免费看`日韩一区二区| 日韩精品成人一区二区在线| 日韩久久精品一区| 91视频一区二区三区| 自拍偷拍国产亚洲| www.66久久| 日韩毛片一二三区| 在线视频国产一区| 韩国精品在线观看| 亚洲欧美在线观看| 4hu四虎永久在线影院成人| 免费人成在线不卡| 日本在线不卡一区| 欧美国产在线观看| 亚洲国产岛国毛片在线| 1024成人网| 激情国产一区二区| 久久久精品国产99久久精品芒果| 成人av综合一区| 亚洲国产精品久久久男人的天堂| 欧美色网站导航| 欧美日韩国产影片| 欧美久久免费观看| 欧美日本一区二区三区| 成人小视频免费观看| 免费精品视频最新在线| 一区二区三区日韩精品| 日韩欧美中文一区| 日本丶国产丶欧美色综合| 久久99国产精品免费网站| 一区二区三区在线免费播放| 国产蜜臀97一区二区三区| 午夜欧美视频在线观看| 国产精品国产三级国产aⅴ中文 | 日韩亚洲欧美在线| 91黄色免费观看| 在线观看一区二区视频| 欧美熟乱第一页| 日韩精品中文字幕在线不卡尤物 | 国产亚洲一区字幕| 亚洲精品一区二区精华| 欧美性一二三区| 中文字幕一区二区三| 国产精品久久免费看| 日韩av网站免费在线| 国产综合色在线| 理论电影国产精品| 懂色av中文一区二区三区| 成人激情开心网| 欧美日本精品一区二区三区| 欧美mv日韩mv国产网站app| 欧美成人vr18sexvr| 亚洲精品乱码久久久久| 天堂久久久久va久久久久| 日韩精品一级中文字幕精品视频免费观看| 91.xcao| 9191国产精品| 国产精品不卡一区| 免费观看一级欧美片| 99久久伊人网影院| 91精品麻豆日日躁夜夜躁| 精品av综合导航| 亚洲免费观看高清| 日韩一区欧美二区| aaa亚洲精品一二三区| 91黄色免费看| 亚洲精品中文在线| 一区二区在线观看免费| 粉嫩绯色av一区二区在线观看| 欧美一区二区三区四区高清| 婷婷一区二区三区| 欧美精品日日鲁夜夜添| 日本不卡视频在线观看| 9191国产精品| 国产一区二区视频在线播放| 欧美一级欧美三级| 麻豆国产精品官网| 久久影视一区二区| 国产成人亚洲综合a∨婷婷| 精品国产露脸精彩对白| 亚洲男人天堂av网| 欧美亚洲精品一区| 91麻豆精品视频| 亚洲欧美在线另类| 国产精品中文字幕日韩精品 | 欧美精品一区二区三| 亚洲国产一区在线观看| 色88888久久久久久影院按摩| 亚洲婷婷综合色高清在线| 欧美日产在线观看| 91丨九色丨国产丨porny| 视频一区视频二区中文字幕| 亚洲欧美一区二区三区久本道91| 欧美一级日韩一级| 在线亚洲一区观看| 成人理论电影网| 国产曰批免费观看久久久| 91久久香蕉国产日韩欧美9色| 国产91在线看| 国产肉丝袜一区二区| 国产福利91精品一区| 综合激情成人伊人| 日韩一区二区三区在线| 一本到一区二区三区| 国产精一区二区三区| 在线观看区一区二| 91年精品国产| 色婷婷亚洲综合| aaa亚洲精品| 日本韩国欧美国产| 91精品国产一区二区三区香蕉| 91麻豆国产精品久久| 欧美在线观看一区| 国产精品久久久久影院色老大| 一本色道亚洲精品aⅴ| 国产盗摄一区二区三区| 国产不卡视频在线播放| 豆国产96在线|亚洲| 欧美在线观看视频在线| 久久色在线视频| 亚洲精品你懂的| 国产精品一二三区| 4438x亚洲最大成人网| 亚洲精品ww久久久久久p站| 一区二区三区久久| 精品亚洲成a人| 韩日精品视频一区| 欧美狂野另类xxxxoooo| 久久综合色综合88| 欧美午夜精品一区二区三区| 国产欧美日韩精品在线| 精品91自产拍在线观看一区| 国产女人18水真多18精品一级做 | 精品一区二区免费看| 91麻豆精品在线观看| 91久久线看在观草草青青 | 国产91富婆露脸刺激对白| 91官网在线免费观看| 欧洲国内综合视频| 日韩一区国产二区欧美三区| 国产精品久久久久久久久晋中 | 91热门视频在线观看| 精品一区二区免费在线观看| jiyouzz国产精品久久| 日韩一区二区高清| 中文字幕一区在线| 成人美女视频在线观看18| 久久九九影视网| 色综合天天狠狠| 91一区一区三区| 国产精品久久久久天堂| 国产精品一区久久久久| 久久久欧美精品sm网站| 国产做a爰片久久毛片| 国产偷v国产偷v亚洲高清| 免费欧美在线视频| 欧美一区午夜视频在线观看| 亚洲一卡二卡三卡四卡| 欧美精品1区2区3区| 日本免费新一区视频| 91在线丨porny丨国产| 亚洲不卡在线观看| 欧洲激情一区二区| 国内精品伊人久久久久影院对白| 亚洲欧美在线高清| 久久综合九色综合97婷婷女人| 成人av在线资源| 精品无人区卡一卡二卡三乱码免费卡| 精品国产91久久久久久久妲己| 国产一区二区三区免费| 亚洲伦理在线免费看| 3d成人h动漫网站入口| 国产综合一区二区| 18欧美乱大交hd1984| 精品动漫一区二区三区在线观看| 成人一区二区三区| 奇米四色…亚洲| 日韩高清中文字幕一区| 一区二区三区影院| 亚洲高清免费观看 | 成人久久18免费网站麻豆|