中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

聯(lián)通做網(wǎng)站百度推廣業(yè)務(wù)電話

聯(lián)通做網(wǎng)站,百度推廣業(yè)務(wù)電話,金融網(wǎng)站搭建,學(xué)院網(wǎng)站建設(shè)的意義Go語言中有豐富的數(shù)據(jù)類型,除了基本的整型、浮點(diǎn)型、布爾型、字符串外,還有數(shù)組、切片、結(jié)構(gòu)體、函數(shù)、map、通道(channel)等。Go 語言的基本類型和其他語言大同小異。 基本數(shù)據(jù)類型 整型 整型分為以下兩個大類: 按…

Go語言中有豐富的數(shù)據(jù)類型,除了基本的整型、浮點(diǎn)型、布爾型、字符串外,還有數(shù)組、切片、結(jié)構(gòu)體、函數(shù)、map、通道(channel)等。Go 語言的基本類型和其他語言大同小異。

基本數(shù)據(jù)類型

整型

整型分為以下兩個大類: 按長度分為:int8、int16、int32、int64 對應(yīng)的無符號整型:uint8、uint16、uint32、uint64

其中,uint8就是我們熟知的byte型,int16對應(yīng)C語言中的short型,int64對應(yīng)C語言中的long型。
在這里插入圖片描述

特殊整型

在這里插入圖片描述
注意: 在使用int和 uint類型時(shí),不能假定它是32位或64位的整型,而是考慮int和uint可能在不同平臺上的差異。

注意事項(xiàng) 獲取對象的長度的內(nèi)建len()函數(shù)返回的長度可以根據(jù)不同平臺的字節(jié)長度進(jìn)行變化。實(shí)際使用中,切片或 map 的元素?cái)?shù)量等都可以用int來表示。在涉及到二進(jìn)制傳輸、讀寫文件的結(jié)構(gòu)描述時(shí),為了保持文件的結(jié)構(gòu)不會受到不同編譯目標(biāo)平臺字節(jié)長度的影響,不要使用int和 uint。

數(shù)字字面量語法(Number literals syntax)

Go1.13版本之后引入了數(shù)字字面量語法,這樣便于開發(fā)者以二進(jìn)制、八進(jìn)制或十六進(jìn)制浮點(diǎn)數(shù)的格式定義數(shù)字,例如:

v := 0b00101101, 代表二進(jìn)制的 101101,相當(dāng)于十進(jìn)制的 45。 v := 0o377,代表八進(jìn)制的 377,相當(dāng)于十進(jìn)制的 255。 v := 0x1p-2,代表十六進(jìn)制的 1 除以 22,也就是 0.25。

而且還允許我們用 _ 來分隔數(shù)字,比如說: v := 123_456 表示 v 的值等于 123456。

我們可以借助fmt函數(shù)來將一個整數(shù)以不同進(jìn)制形式展示。

package mainimport "fmt"func main(){// 十進(jìn)制var a int = 10fmt.Printf("%d \n", a)  // 10fmt.Printf("%b \n", a)  // 1010  占位符%b表示二進(jìn)制// 八進(jìn)制  以0開頭var b int = 077fmt.Printf("%o \n", b)  // 77// 十六進(jìn)制  以0x開頭var c int = 0xfffmt.Printf("%x \n", c)  // fffmt.Printf("%X \n", c)  // FF
}

浮點(diǎn)型

Go語言支持兩種浮點(diǎn)型數(shù):float32和float64。這兩種浮點(diǎn)型數(shù)據(jù)格式遵循IEEE 754標(biāo)準(zhǔn): float32 的浮點(diǎn)數(shù)的最大范圍約為 3.4e38,可以使用常量定義:math.MaxFloat32。 float64 的浮點(diǎn)數(shù)的最大范圍約為 1.8e308,可以使用一個常量定義:math.MaxFloat64。

package main
import ("fmt""math"
)
func main() {fmt.Printf("%f\n", math.Pi)fmt.Printf("%.2f\n", math.Pi)
}

復(fù)數(shù)

complex64和complex128

var c1 complex64
c1 = 1 + 2i
var c2 complex128
c2 = 2 + 3i
fmt.Println(c1)
fmt.Println(c2)

復(fù)數(shù)有實(shí)部和虛部,complex64的實(shí)部和虛部為32位,complex128的實(shí)部和虛部為64位。

布爾值

Go語言中以bool類型進(jìn)行聲明布爾型數(shù)據(jù),布爾型數(shù)據(jù)只有true(真)和false(假)兩個值。
注意:

  1. 布爾類型變量的默認(rèn)值為false。
  2. Go 語言中不允許將整型強(qiáng)制轉(zhuǎn)換為布爾型.
  3. 布爾型無法參與數(shù)值運(yùn)算,也無法與其他類型進(jìn)行轉(zhuǎn)換。

字符串

Go語言中的字符串以原生數(shù)據(jù)類型出現(xiàn),使用字符串就像使用其他原生數(shù)據(jù)類型(int、bool、float32、float64 等)一樣。 Go 語言里的字符串的內(nèi)部實(shí)現(xiàn)使用UTF-8編碼。 字符串的值為雙引號(")中的內(nèi)容,可以在Go語言的源碼中直接添加非ASCII碼字符,例如:

s1 := "hello"
s2 := "你好"

字符串轉(zhuǎn)義符

Go 語言的字符串常見轉(zhuǎn)義符包含回車、換行、單雙引號、制表符等,如下表所示。
在這里插入圖片描述

多行字符串

Go語言中要定義一個多行字符串時(shí),就必須使用反引號字符:

s1 := `第一行
第二行
第三行
`
fmt.Println(s1)

反引號間換行將被作為字符串中的換行,但是所有的轉(zhuǎn)義字符均無效,文本將會原樣輸出。

字符串的常用操作

在這里插入圖片描述

byte和rune類型

組成每個字符串的元素叫做“字符”,可以通過遍歷或者單個獲取字符串元素獲得字符。 字符用單引號(’)包裹起來,如:

var a = '中'
var b = 'x'

Go 語言的字符有以下兩種:

  1. uint8類型,或者叫 byte 型,代表一個ASCII碼字符。
  2. rune類型,代表一個 UTF-8字符。

當(dāng)需要處理中文、日文或者其他復(fù)合字符時(shí),則需要用到rune類型。rune類型實(shí)際是一個int32。

Go 使用了特殊的 rune 類型來處理 Unicode,讓基于 Unicode 的文本處理更為方便,也可以使用 byte 型進(jìn)行默認(rèn)字符串處理,性能和擴(kuò)展性都有照顧。

// 遍歷字符串
func traversalString() {s := "hello沙河"for i := 0; i < len(s); i++ { //bytefmt.Printf("%v(%c) ", s[i], s[i])}fmt.Println()for _, r := range s { //runefmt.Printf("%v(%c) ", r, r)}fmt.Println()
}

輸出:

104(h) 101(e) 108(l) 108(l) 111(o) 230(?) 178(2) 153() 230(?) 178(2) 179(3) 
104(h) 101(e) 108(l) 108(l) 111(o) 27801() 27827() 

因?yàn)閁TF8編碼下一個中文漢字由3~4個字節(jié)組成,所以我們不能簡單的按照字節(jié)去遍歷一個包含中文的字符串,否則就會出現(xiàn)上面輸出中第一行的結(jié)果。

字符串底層是一個byte數(shù)組,所以可以和[]byte類型相互轉(zhuǎn)換。字符串是不能修改的 字符串是由byte字節(jié)組成,所以字符串的長度是byte字節(jié)的長度。 rune類型用來表示utf8字符,一個rune字符由一個或多個byte組成。

修改字符串

要修改字符串,需要先將其轉(zhuǎn)換成[]rune或[]byte,完成后再轉(zhuǎn)換為string。無論哪種轉(zhuǎn)換,都會重新分配內(nèi)存,并復(fù)制字節(jié)數(shù)組。

func changeString() {s1 := "big"// 強(qiáng)制類型轉(zhuǎn)換byteS1 := []byte(s1)byteS1[0] = 'p'fmt.Println(string(byteS1))s2 := "白蘿卜"runeS2 := []rune(s2)runeS2[0] = '紅'fmt.Println(string(runeS2))
}

類型轉(zhuǎn)換

Go語言中只有強(qiáng)制類型轉(zhuǎn)換,沒有隱式類型轉(zhuǎn)換。該語法只能在兩個類型之間支持相互轉(zhuǎn)換的時(shí)候使用。

強(qiáng)制類型轉(zhuǎn)換的基本語法如下:

T(表達(dá)式)

其中,T表示要轉(zhuǎn)換的類型。表達(dá)式包括變量、復(fù)雜算子和函數(shù)返回值等.

比如計(jì)算直角三角形的斜邊長時(shí)使用math包的Sqrt()函數(shù),該函數(shù)接收的是float64類型的參數(shù),而變量a和b都是int類型的,這個時(shí)候就需要將a和b強(qiáng)制類型轉(zhuǎn)換為float64類型。

func sqrtDemo() {var a, b = 3, 4var c int// math.Sqrt()接收的參數(shù)是float64類型,需要強(qiáng)制轉(zhuǎn)換c = int(math.Sqrt(float64(a*a + b*b)))fmt.Println(c)
}
http://m.risenshineclean.com/news/58448.html

相關(guān)文章:

  • 濱州做網(wǎng)站建設(shè)價(jià)格推廣方式有哪些?
  • amp for wordpress優(yōu)化網(wǎng)絡(luò)的軟件下載
  • 做界面的網(wǎng)站廣州網(wǎng)站優(yōu)化方案
  • wordpress 瀏覽量排序b2b網(wǎng)站推廣優(yōu)化
  • 做外貿(mào)的物流網(wǎng)站有哪些天津百度推廣排名優(yōu)化
  • 大胡子wordpress主題南昌seo優(yōu)化
  • 做外貿(mào)網(wǎng)站可以收付款嗎拉人注冊給傭金的app
  • 網(wǎng)站seo好學(xué)嗎營銷方案案例范文
  • 現(xiàn)在哪些網(wǎng)站做外貿(mào)的好做拉新人拿獎勵的app
  • 電子商務(wù)網(wǎng)站建設(shè)評估工具有哪些360搜索首頁
  • 西安網(wǎng)站建設(shè)市場虛擬主機(jī)搭建網(wǎng)站
  • 臨安建設(shè)投標(biāo)網(wǎng)站教育培訓(xùn)機(jī)構(gòu)有哪些
  • 新網(wǎng)站做seo地方網(wǎng)站建設(shè)
  • pc端移動端網(wǎng)站開發(fā)太原網(wǎng)站快速排名提升
  • 濰坊網(wǎng)站制作 熊掌號臨汾網(wǎng)絡(luò)推廣
  • 為什么做網(wǎng)站更新注冊網(wǎng)站域名
  • 好域名做網(wǎng)站手機(jī)免費(fèi)發(fā)布信息平臺
  • 惠州市做網(wǎng)站網(wǎng)絡(luò)營銷的內(nèi)涵
  • 汨羅網(wǎng)站建設(shè)制作網(wǎng)站平臺
  • 如何外貿(mào)seo網(wǎng)站建設(shè)外鏈工具
  • 博物館網(wǎng)站建設(shè)方案報(bào)價(jià)關(guān)鍵詞優(yōu)化分析工具
  • 公司宣傳冊設(shè)計(jì)與制作模板seo免費(fèi)課程
  • 在美國注冊一個網(wǎng)站 大陸做銷售網(wǎng)址推薦
  • 自己做網(wǎng)站現(xiàn)實(shí)么網(wǎng)站設(shè)計(jì)就業(yè)
  • 沒網(wǎng)站能不能cpc廣告點(diǎn)擊賺錢做關(guān)鍵詞優(yōu)化排名的步驟
  • 開發(fā)網(wǎng)頁系統(tǒng)一般多少錢windows優(yōu)化大師官網(wǎng)
  • 中學(xué)生旅游網(wǎng)站開發(fā)的論文怎么寫外鏈seo推廣
  • 都昌網(wǎng)站建設(shè)seo可以從哪些方面優(yōu)化
  • 企業(yè)網(wǎng)站推廣設(shè)計(jì)網(wǎng)站優(yōu)化推廣
  • 個人網(wǎng)站怎么做支付寶接口google推廣妙招