欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

GO語言中=和:=的區(qū)別說明

 更新時(shí)間:2020年12月15日 14:23:53   作者:持之以恒2016  
這篇文章主要介紹了GO語言中=和:=的區(qū)別說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

錯(cuò)誤的做法

//聲明變量a
var a int
//聲明變量a并給變量a賦值
a := 1
//錯(cuò)誤提示
no new variables on left side of :=
//說明

重復(fù)聲明變量a

聲明不賦值的初始化值

整型和浮點(diǎn)型變量的默認(rèn)值為 0,如var a int,默認(rèn)a=0

字符串變量的默認(rèn)值為空字符串

布爾型變量默認(rèn)為 bool

切片、函數(shù)、指針變量的默認(rèn)為 nil

使用編譯器推導(dǎo)類型

var a=10 //默認(rèn)a為整型

特殊例子

正確

var conn net.Conn
var err error
conn, err = net.Dial("tcp", "127.0.0.1:8080")
conn, err = net.Dial("tcp", "127.0.0.1:8080")

正確(特殊)

//雖然err重復(fù)聲明了,但是conn和conn2沒有重復(fù)聲明,只要有一個(gè)新聲明,不會(huì)報(bào)錯(cuò)
conn, err := net.Dial("tcp", "127.0.0.1:8080")
conn2, err := net.Dial("tcp", "127.0.0.1:8080")

錯(cuò)誤

//重復(fù)聲明了
conn, err := net.Dial("tcp", "127.0.0.1:8080")
conn, err := net.Dial("tcp", "127.0.0.1:8080")

補(bǔ)充:從go語言中找&和*區(qū)別

*和&的區(qū)別 :

1、& 是取地址符號(hào) , 即取得某個(gè)變量的地址 , 如 ; &a

2、*是指針運(yùn)算符 , 可以表示一個(gè)變量是指針類型 , 也可以表示一個(gè)指針變量所指向的存儲(chǔ)單元 , 也就是這個(gè)地址所存儲(chǔ)的值 .

從代碼中驗(yàn)證 :

先構(gòu)建一個(gè)Rect類型 :

1. &是取地址符號(hào), 取到Rect類型對象的地址

2. *可以表示一個(gè)變量是指針類型(r是一個(gè)指針變量):

3.*也可以表示指針類型變量所指向的存儲(chǔ)單元 ,也就是這個(gè)地址所指向的值

4.查看這個(gè)指針變量的地址 , 基本數(shù)據(jù)類型直接打印地址

摘自其他博客 :

經(jīng)常會(huì)見到: p . *p , &p 三個(gè)符號(hào)

p是一個(gè)指針變量的名字,表示此指針變量指向的內(nèi)存地址,如果使用%p來輸出的話,它將是一個(gè)16進(jìn)制數(shù)。而*p表示此指針指向的內(nèi)存地址中存放的內(nèi)容,一般是一個(gè)和指針類型一致的變量或者常量。

而我們知道,&是取地址運(yùn)算符,&p就是取指針p的地址。等會(huì),怎么又來了個(gè)地址,它到底和p有什么區(qū)別?

區(qū)別在于,指針p同時(shí)也是個(gè)變量,既然是變量,編譯器肯定要為其分配內(nèi)存地址,就像程序中定義了一個(gè)int型的變量i,編譯器要為其分配一塊內(nèi)存空間一樣。

而&p就表示編譯器為變量p分配的內(nèi)存地址,而因?yàn)閜是一個(gè)指針變量,這種特殊的身份注定了它要指向另外一個(gè)內(nèi)存地址,程序員按照程序的需要讓它指向一個(gè)內(nèi)存地址,這個(gè)它指向的內(nèi)存地址就用p表示。

而且,p指向的地址中的內(nèi)容就用*p表示。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Golang 操作 Kafka 如何設(shè)置消息的失效時(shí)間

    Golang 操作 Kafka 如何設(shè)置消息的失效時(shí)間

    在使用 Golang 操作 Kafka 時(shí),你可以使用 Sarama 庫來設(shè)置消息的失效時(shí)間,這篇文章主要介紹了Golang操作Kafka設(shè)置消息的失效時(shí)間,需要的朋友可以參考下
    2023-06-06
  • Golang環(huán)境搭建及打包和工具鏈詳解

    Golang環(huán)境搭建及打包和工具鏈詳解

    這篇文章主要介紹了Golang環(huán)境搭建及打包和工具鏈,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • GO語言運(yùn)行環(huán)境下載、安裝、配置圖文教程

    GO語言運(yùn)行環(huán)境下載、安裝、配置圖文教程

    這篇文章主要介紹了GO語言運(yùn)行環(huán)境下載、安裝、配置圖文教程,需要的朋友可以參考下
    2017-02-02
  • golang解析json數(shù)據(jù)的4種方法總結(jié)

    golang解析json數(shù)據(jù)的4種方法總結(jié)

    在日常工作中每一名開發(fā)者,不管是前端還是后端,都經(jīng)常使用 JSON,下面這篇文章主要給大家介紹了關(guān)于golang解析json數(shù)據(jù)的4種方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • go語言編程實(shí)現(xiàn)遞歸函數(shù)示例詳解

    go語言編程實(shí)現(xiàn)遞歸函數(shù)示例詳解

    這篇文章主要為大家介紹了go語言編程實(shí)現(xiàn)遞歸函數(shù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • 一篇文章學(xué)會(huì)GO語言中的變量

    一篇文章學(xué)會(huì)GO語言中的變量

    Go語言是靜態(tài)類型語言,因此變量有明確類型的,編譯器也會(huì)檢查變量類型的正確性,下面這篇文章主要給大家介紹了關(guān)于GO語言中變量的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • 詳解Golang實(shí)現(xiàn)http重定向https的方式

    詳解Golang實(shí)現(xiàn)http重定向https的方式

    這篇文章主要介紹了詳解Golang實(shí)現(xiàn)http重定向https的方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • Go語言轉(zhuǎn)換所有字符串為大寫或者小寫的方法

    Go語言轉(zhuǎn)換所有字符串為大寫或者小寫的方法

    這篇文章主要介紹了Go語言轉(zhuǎn)換所有字符串為大寫或者小寫的方法,實(shí)例分析了ToLower和ToUpper函數(shù)的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • 詳解Go語言運(yùn)用廣度優(yōu)先搜索走迷宮

    詳解Go語言運(yùn)用廣度優(yōu)先搜索走迷宮

    廣度優(yōu)先搜索是從圖中的某一頂點(diǎn)出發(fā),遍歷每一個(gè)頂點(diǎn)時(shí),依次遍歷其所有的鄰接點(diǎn),再從這些鄰接點(diǎn)出發(fā),依次訪問它們的鄰接點(diǎn),直到圖中所有被訪問過的頂點(diǎn)的鄰接點(diǎn)都被訪問到。然后查看圖中是否存在尚未被訪問的頂點(diǎn),若有,則以該頂點(diǎn)為起始點(diǎn),重復(fù)上述遍歷的過程
    2021-06-06
  • golang中validator包的使用教程

    golang中validator包的使用教程

    Validator 實(shí)際上是一個(gè)驗(yàn)證工具,屬于 golang 的第三方包,這個(gè)包中使用了各種反射技巧來提供了各種校驗(yàn)和約束數(shù)據(jù)的方式方法,下面就跟隨小編一起來學(xué)習(xí)一下validator包的使用吧
    2023-09-09

最新評論