亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

go語言 bool類型的使用操作

 更新時(shí)間:2020年12月24日 15:48:24   作者:徒步遠(yuǎn)方999  
這篇文章主要介紹了go語言 bool類型的使用操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,大家還是直接看代碼吧~

// 1 聲明類型,沒有初始化,零值(false)
var a bool
a = true
fmt.Println("a = ", a) 
 
// 2 自動(dòng)推導(dǎo)類型
var b = false
fmt.Println("b = ", b) 
 
c := false
fmt.Println("c = ", c)

補(bǔ)充:Go語言基礎(chǔ):變量,常量,Boolean,字符串,iota枚舉

定義變量

格式:var 變量名 變量類型

Go變量聲明很奇怪,把類型放在變量名后面,這點(diǎn)與我們常用的C、JAVA等不一樣,沒辦法,得習(xí)慣。Go對(duì)于已聲明但未使用的變量會(huì)在編譯階段報(bào)錯(cuò),要求好嚴(yán)格,但的確應(yīng)該支持。

單個(gè)變量的聲明和賦值

var a int //變量的聲明
a = 123 //變量的賦值
var b int = 123 //變量的聲明,同時(shí)賦值
var c = 321 //變量的聲明,同時(shí)賦值,省略變量類型,由編譯器推斷,這里認(rèn)為是int
var s = "中國(guó)" //這里編譯器推斷是字符串string類型
d := 456 //變量聲明與賦值的最簡(jiǎn)方法,這種方法只能用在函數(shù)內(nèi)部

上面是常用的變量聲明和賦值方法,一般常用的應(yīng)該是var 變量名 = 賦值。

需要注意的是,全局變量一般都是通過var方式來定義,函數(shù)局部變量采用:=方式來定義。

多個(gè)變量的聲明和賦值

var a, b, c int //變量的聲明
a = 1 //變量的賦值
b = 2
c = 3
var a, b, c int = 1, 2, 3 //變量的聲明,同時(shí)賦值  是不是覺得很別扭,搞不懂go為啥要這么定義他
var a, b, c = 1, 2, 3 //一般采用此方法來定義
_, b := 2, 3 // _(下劃線)是個(gè)特殊的變量名,任何賦予它的值都會(huì)被丟棄。唉,既然會(huì)被丟棄,還用它干啥呢。

常量

在變量前加const關(guān)鍵字,這個(gè)變量就變成了一個(gè)常量

定義變量組

Go語言中,同時(shí)聲明多個(gè)變量、常量或?qū)攵鄠€(gè)包時(shí),可采用分組的方式聲明。這點(diǎn)很不錯(cuò),比其它語言要好。比如導(dǎo)入多個(gè)包時(shí):

import "fmt"
import "os"
//可以用分組寫成如下形式:
import(
   "fmt"
   "os"                                                             
 )

聲明多個(gè)變量:

var a int
var b = "123"
var(
   a int
   b = "123"
)

聲明多個(gè)常量:

const pi = 3.1415
const prefix = "Go"
const(
   pi = 3.1415
   prefix = "Go"
)

常用的基礎(chǔ)類型

Boolean

Go語言中,布爾(bool)類型的值只能是true或false

數(shù)值類型

Go里面的int跟uint的數(shù)據(jù)范圍是根據(jù)具體的平臺(tái)是32位還是64位來決定的。Go里面也有直接定義好的位數(shù)類型rune , int8 , int16 , int32 , int64 和 byte , uint8 , uint16 , uint32 , uint64 。其中 rune 是 int32 的別稱, byte 是 uint8 的別稱。

需要注意:這些類型之間不允許相互賦值或操作,不然編譯器會(huì)報(bào)錯(cuò)。比如:

var a int8 = 4

var c int32 = a

編譯的時(shí)候會(huì)報(bào)錯(cuò):(type int8) as type int32 in assignment。另外,盡管int的長(zhǎng)度是32bit,但是int與int32也是不可以互用的。

復(fù)數(shù)

Go語言支持復(fù)數(shù),它的默認(rèn)類型是 complex128 (64 位實(shí)數(shù)+64 位虛數(shù))。如果需要小一些的,也有 complex64 (32 位實(shí)數(shù)+32 位虛數(shù))。復(fù)數(shù)的形式為 RE + IMi ,其中 RE 是實(shí)數(shù)部分, IM 是虛數(shù)部分,而最后的 i 是虛數(shù)單位。

var c complex64 = 5+5i

fmt.Printf(c)

輸出:(5+5i)

搞不明白這個(gè)復(fù)數(shù)能干什么用啊抓狂抓狂抓狂

字符串

Go中的字符串都是采用UTF-8字符集編碼。字符串是用一對(duì)” “或反引號(hào)來定義的,類型為string。Go語言中,字符串是不可變的。如果真要修改怎么辦呢?

s := "hello"
c := []byte(s) // 將字符串 s 轉(zhuǎn)換為 []byte 類型
c[0] = 'c'
s2 := string(c) // 再轉(zhuǎn)換回 string 類型
fmt.Printf("%s\n", s2)

Go中可以使用+連接兩個(gè)字符串,這一點(diǎn)跟java很像。

聲明多行的字符串怎么辦?通過反引號(hào)來聲明,比如:

var s = `hello

world`

輸出:

hello

world

iota枚舉

關(guān)鍵詞iota用來聲明枚舉時(shí)會(huì)用到,默認(rèn)開始值為0,每調(diào)用一次加1;只能在常量表達(dá)式中使用;每遇到const,iota重置為0??磶讉€(gè)例子:

const a = iota // a=0
const (
 b = iota   //b=0
 c      //c=1
)
//特別注意這種情況,雖然,兩個(gè)iota中間隔著j=3.14,但是iota依然會(huì)加1下去,所以k的值為2
const (
  i = iota
  j = 3.14
  k = iota
  l
) 

當(dāng)遇到 _(下劃線) 時(shí),可以跳過不用它,但是值依然會(huì)加1,比如:

type AudioOutput int
const (
  OutMute AudioOutput = iota // 0
  OutMono          // 1
  OutStereo         // 2
  _
  _
  OutSurround        // 5
)

Go程序設(shè)計(jì)的一些規(guī)則

大寫字母開頭的變量是可導(dǎo)出的,也就是其它包可以讀取的,是公用變量;小寫字母開頭的就是不可導(dǎo)出的,是私有變量。大寫字母開頭的函數(shù)也是一樣,相當(dāng)于 class 中的帶 public 關(guān)鍵詞的公有函數(shù);小寫字母開頭的就是有 private 關(guān)鍵詞的私有函數(shù)。

總之一句話,大寫字母開頭的是public,小寫字母開頭的是private

這些規(guī)則好不習(xí)慣啊,但也只能接受。

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

相關(guān)文章

  • Go標(biāo)準(zhǔn)庫-ServeMux的使用與模式匹配深入探究

    Go標(biāo)準(zhǔn)庫-ServeMux的使用與模式匹配深入探究

    這篇文章主要為大家介紹了Go標(biāo)準(zhǔn)庫-ServeMux的使用與模式匹配深入探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • go HTTP2 的頭部壓縮算法hpack實(shí)現(xiàn)詳解

    go HTTP2 的頭部壓縮算法hpack實(shí)現(xiàn)詳解

    這篇文章主要為大家介紹了go HTTP2 的頭部壓縮算法hpack實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Golang搭建開發(fā)環(huán)境的圖文教程

    Golang搭建開發(fā)環(huán)境的圖文教程

    這篇文章主要介紹了Golang搭建開發(fā)環(huán)境,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 關(guān)于golang高并發(fā)的實(shí)現(xiàn)與注意事項(xiàng)說明

    關(guān)于golang高并發(fā)的實(shí)現(xiàn)與注意事項(xiàng)說明

    這篇文章主要介紹了關(guān)于golang高并發(fā)的實(shí)現(xiàn)與注意事項(xiàng)說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • Golang?gRPC?HTTP協(xié)議轉(zhuǎn)換示例

    Golang?gRPC?HTTP協(xié)議轉(zhuǎn)換示例

    這篇文章主要為大家介紹了Golang?gRPC?HTTP協(xié)議轉(zhuǎn)換示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 淺談Golang中創(chuàng)建一個(gè)簡(jiǎn)單的服務(wù)器的方法

    淺談Golang中創(chuàng)建一個(gè)簡(jiǎn)單的服務(wù)器的方法

    這篇文章主要介紹了淺談Golang中創(chuàng)建一個(gè)簡(jiǎn)單的服務(wù)器的方法,golang中的net/http包對(duì)網(wǎng)絡(luò)的支持非常好,這樣會(huì)讓我們比較容易的建立起一個(gè)相對(duì)簡(jiǎn)單的服務(wù)器,有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • 詳解Go 1.22 for循環(huán)的兩處重要更新

    詳解Go 1.22 for循環(huán)的兩處重要更新

    這篇文章主要詳細(xì)介紹了Go 1.22 for循環(huán)的兩處重要更新,Go 1.22 版本于 2024 年 2 月 6 日發(fā)布,引入了幾個(gè)重要的特性和改進(jìn),在語言層面上,這個(gè)版本對(duì) for 循環(huán)進(jìn)行了兩處更新,本文將會(huì)對(duì) for 循環(huán)的兩個(gè)更新進(jìn)行介紹,需要的朋友可以參考下
    2024-02-02
  • Go?CSV包實(shí)現(xiàn)結(jié)構(gòu)體和csv內(nèi)容互轉(zhuǎn)工具詳解

    Go?CSV包實(shí)現(xiàn)結(jié)構(gòu)體和csv內(nèi)容互轉(zhuǎn)工具詳解

    這篇文章主要介紹了Go?CSV包實(shí)現(xiàn)結(jié)構(gòu)體和csv內(nèi)容互轉(zhuǎn)工具詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • go語言優(yōu)雅地處理error工具及技巧詳解

    go語言優(yōu)雅地處理error工具及技巧詳解

    這篇文章主要為大家介紹了go語言優(yōu)雅地處理error工具及技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 一文了解golang 占位符

    一文了解golang 占位符

    本文主要介紹了一文了解golang 占位符,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04

最新評(píng)論