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

Go語言數(shù)據(jù)類型簡單介紹

 更新時間:2023年08月30日 08:28:32   作者:小萬哥丶  
這篇文章主要介紹了Go語言數(shù)據(jù)類型簡單介紹的相關(guān)資料,需要的朋友可以參考下

數(shù)據(jù)類型是編程中的重要概念。數(shù)據(jù)類型指定了變量值的大小和類型。

Go是靜態(tài)類型的,這意味著一旦變量類型被定義,它只能存儲該類型的數(shù)據(jù)。

Go有三種基本數(shù)據(jù)類型:

  • bool:表示布爾值,要么是true,要么是false。
  • 數(shù)值型:表示整數(shù)類型、浮點數(shù)值和復(fù)數(shù)類型。
  • string:表示字符串值。

示例

以下示例展示了Go中的一些不同數(shù)據(jù)類型:

package main
import ("fmt")
func main() {
var a bool = true // 布爾值
var b int = 5 // 整數(shù)
var c float32 = 3.14 // 浮點數(shù)
var d string = "Hi!" // 字符串
fmt.Println("布爾值: ", a)
fmt.Println("整數(shù): ", b)
fmt.Println("浮點數(shù): ", c)
fmt.Println("字符串: ", d)
}

布爾數(shù)據(jù)類型

布爾數(shù)據(jù)類型使用bool關(guān)鍵字聲明,只能取值true或false。

布爾數(shù)據(jù)類型的默認(rèn)值是false。

示例

以下示例展示了聲明布爾變量的不同方式:

package main
import ("fmt")
func main() {
var b1 bool = true // 有類型聲明和初始值
var b2 = true // 無類型聲明但有初始值
var b3 bool // 有類型聲明但無初始值
b4 := true // 無類型聲明但有初始值
fmt.Println(b1) // 輸出 true
fmt.Println(b2) // 輸出 true
fmt.Println(b3) // 輸出 false
fmt.Println(b4) // 輸出 true
}

Go整數(shù)數(shù)據(jù)類型

整數(shù)數(shù)據(jù)類型用于存儲沒有小數(shù)點的整數(shù),例如35、-50或1345000。

整數(shù)數(shù)據(jù)類型有兩個類別:

  • 有符號整數(shù) - 可以存儲正數(shù)和負(fù)數(shù)
  • 無符號整數(shù) - 只能存儲非負(fù)數(shù)

提示:整數(shù)的默認(rèn)類型是int。如果不指定類型,類型將為int。

有符號整數(shù)

使用int關(guān)鍵字聲明的有符號整數(shù)可以存儲正數(shù)和負(fù)數(shù):

示例

package main
import ("fmt")
func main() {
var x int = 500
var y int = -4500
fmt.Printf("類型: %T, 值: %v", x, x)
fmt.Printf("類型: %T, 值: %v", y, y)
}

Go有五個有符號整數(shù)的關(guān)鍵字/類型:

類型大小范圍
int取決于平臺:在32位系統(tǒng)中為 -2147483648 到 2147483647,
32位系統(tǒng)為32位,在64位系統(tǒng)中為 -9223372036854775808 到 9223372036854775807
64位系統(tǒng)為64位
int88位/1字節(jié)-128 到 127
int1616位/2字節(jié)-32768 到 32767
int3232位/4字節(jié)-2147483648 到 2147483647
int6464位/8字節(jié)-9223372036854775808 到 9223372036854775807

無符號整數(shù)

使用uint關(guān)鍵字聲明的無符號整數(shù)只能存儲非負(fù)數(shù):

示例

package main
import ("fmt")
func main() {
var x uint = 500
var y uint = 4500
fmt.Printf("類型: %T, 值: %v", x, x)
fmt.Printf("類型: %T, 值: %v", y, y)
}

Go有五個無符號整數(shù)的關(guān)鍵字/類型:

類型大小范圍
uint取決于平臺:在32位系統(tǒng)中為 0 到 4294967295,
32位系統(tǒng)為32位,在64位系統(tǒng)中為 0 到 18446744073709551615
64位系統(tǒng)為64位
uint88位/1字節(jié)0 到 255
uint1616位/2字節(jié)0 到 65535
uint3232位/4字節(jié)0 到 4294967295
uint6464位/8字節(jié)0 到 18446744073709551615

選擇整數(shù)類型取決于變量需要存儲的值。

示例

以下示例會導(dǎo)致錯誤,因為1000超出了int8的范圍(范圍是從-128到127):

package main
import ("fmt")
func main() {
var x int8 = 1000
fmt.Printf("類型: %T, 值: %v", x, x)
}

結(jié)果:

./prog.go:5:7: constant 1000 overflows int8

Go浮點數(shù)數(shù)據(jù)類型

浮點數(shù)數(shù)據(jù)類型用于存儲帶有小數(shù)點的正數(shù)和負(fù)數(shù),例如35.3、-2.34或3597.34987。

浮點數(shù)數(shù)據(jù)類型有兩個關(guān)鍵字:

類型 大小 范圍

  • float32 32位 -3.4e+38 到 3.4e+38。
  • float64 64位 -1.7e+308 到 +1.7e+308。

提示:浮點數(shù)的默認(rèn)類型是float64。如果不指定類型,類型將為float64。

float32關(guān)鍵字

示例

以下示例展示了如何聲明一些float32類型的變量:

package main
import (
"fmt"
)
func main() {
var x float32 = 123.78
var y float32 = 3.4e+38
fmt.Printf("類型:%T,值:%v\n", x, x)
fmt.Printf("類型:%T,值:%v", y, y)
}

float64關(guān)鍵字

與float32相比,float64數(shù)據(jù)類型可以存儲更大范圍的數(shù)字。

示例

以下示例展示了如何聲明一個float64類型的變量:

package main
import (
"fmt"
)
func main() {
var x float64 = 1.7e+308
fmt.Printf("類型:%T,值:%v", x, x)
}

選擇使用哪種浮點類型取決于變量需要存儲的值。

示例

以下示例會導(dǎo)致錯誤,因為3.4e+39超出了float32的范圍:

package main
import (
"fmt"
)
func main() {
var x float32 = 3.4e+39
fmt.Println(x)
}

結(jié)果:

./prog.go:5:7: constant 3.4e+39 overflows float32

字符串?dāng)?shù)據(jù)類型

字符串?dāng)?shù)據(jù)類型用于存儲字符序列(文本)。字符串值必須用雙引號括起來:

示例

package main
import (
"fmt"
)
func main() {
var txt1 string = "Hello!"
var txt2 string
txt3 := "World 1"
fmt.Printf("類型:%T,值:%v\n", txt1, txt1)
fmt.Printf("類型:%T,值:%v\n", txt2, txt2)
fmt.Printf("類型:%T,值:%v\n", txt3, txt3)
}

結(jié)果:

Type: string, value: Hello! Type: string, value: Type: string, value: World 1

到此這篇關(guān)于Go語言數(shù)據(jù)類型簡單介紹的文章就介紹到這了,更多相關(guān)Go 數(shù)據(jù)類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • golang在GRPC中設(shè)置client的超時時間

    golang在GRPC中設(shè)置client的超時時間

    這篇文章主要介紹了golang在GRPC中設(shè)置client的超時時間,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • golang求連續(xù)子數(shù)組的最大和實例

    golang求連續(xù)子數(shù)組的最大和實例

    這篇文章主要介紹了golang求連續(xù)子數(shù)組的最大和實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 一文帶你了解Golang中的泛型

    一文帶你了解Golang中的泛型

    泛型是一種可以編寫?yīng)毩⒂谑褂玫奶囟愋偷拇a的方法,可以通過編寫函數(shù)或類型來使用一組類型中的任何一個,下面就來和大家聊聊Golang中泛型的使用吧
    2023-07-07
  • Go標(biāo)準(zhǔn)庫日志打印及同時輸出到控制臺與文件

    Go標(biāo)準(zhǔn)庫日志打印及同時輸出到控制臺與文件

    Go語言內(nèi)置的log包實現(xiàn)了簡單的日志服務(wù),下面這篇文章主要給大家介紹了關(guān)于Go標(biāo)準(zhǔn)庫日志打印及同時輸出到控制臺與文件的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • Go 語言中程序編譯過程詳解

    Go 語言中程序編譯過程詳解

    本文旨在深入探討Go語言的編譯機制和最新的模塊管理系統(tǒng)——Go Modules,通過詳細(xì)的示例和步驟,我們將演示從簡單的 “Hello World” 程序到使用第三方庫的更復(fù)雜項目的開發(fā)過程,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • Golang使用Gin框架實現(xiàn)HTTP上傳文件過程介紹

    Golang使用Gin框架實現(xiàn)HTTP上傳文件過程介紹

    由于需求中有文件上傳這一個需求,在這里我們就學(xué)習(xí)一下go語言如何上傳文件。本文主要通過表單的方式進(jìn)行文件上傳操作,本文實例為大家分享了Go實現(xiàn)文件上傳操作的具體代碼,供大家參考,具體內(nèi)容如下
    2023-04-04
  • 深入理解go?reflect反射慢的原因

    深入理解go?reflect反射慢的原因

    我們選擇?go?語言的一個重要原因是,它有非常高的性能。但是它反射的性能卻一直為人所詬病,本篇文章就來看看?go?反射的性能問題,感興趣的可以了解一下
    2023-01-01
  • golang實現(xiàn)并發(fā)控制的方法和技巧

    golang實現(xiàn)并發(fā)控制的方法和技巧

    golang 是一門支持并發(fā)的編程語言,它提供了 goroutine 和 channel 等強大的特性,讓我們可以輕松地創(chuàng)建和管理多個執(zhí)行單元,實現(xiàn)高效的任務(wù)處理,在本文中,我們將介紹一些 golang 的并發(fā)控制的方法和技巧,希望對你有所幫助
    2024-03-03
  • 深入理解Go設(shè)計模式之代理模式

    深入理解Go設(shè)計模式之代理模式

    代理模式是一種結(jié)構(gòu)型設(shè)計模式,?其中代理控制著對于原對象的訪問,?并允許在將請求提交給原對象的前后進(jìn)行一些處理,從而增強原對象的邏輯處理,這篇文章主要來學(xué)習(xí)一下代理模式的構(gòu)成和用法,需要的朋友可以參考下
    2023-05-05
  • Go語言原子操作atomic的使用

    Go語言原子操作atomic的使用

    本文介紹了Go語言原子操作的使用方法,原子操作是一種無鎖的技術(shù),可通過CPU指令實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10

最新評論