国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

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

這篇具有很好參考價值的文章主要介紹了Go 數(shù)據(jù)類型。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

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

數(shù)據(jù)類型是編程中的重要概念。數(shù)據(jù)類型指定了變量值的大小和類型。Go是靜態(tài)類型的,這意味著一旦變量類型被定義,它只能存儲該類型的數(shù)據(jù)。

基本數(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ù)類型的默認值是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ù)和負數(shù)
  • 無符號整數(shù) - 只能存儲非負數(shù)

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

有符號整數(shù)

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

package main
import ("fmt")

func main() {
  var x int = 500
  var y int = -4500
  fmt.Printf("類型: %T, 值: %v\n", x, x)
  fmt.Printf("類型: %T, 值: %v\n", 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位
int8 8位/1字節(jié) -128 到 127
int16 16位/2字節(jié) -32768 到 32767
int32 32位/4字節(jié) -2147483648 到 2147483647
int64 64位/8字節(jié) -9223372036854775808 到 9223372036854775807

無符號整數(shù)

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

package main
import ("fmt")

func main() {
  var x uint = 500
  var y uint = 4500
  fmt.Printf("類型: %T, 值: %v\n", x, x)
  fmt.Printf("類型: %T, 值: %v\n", 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位
uint8 8位/1字節(jié) 0 到 255
uint16 16位/2字節(jié) 0 到 65535
uint32 32位/4字節(jié) 0 到 4294967295
uint64 64位/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\n", x, x)
}

結(jié)果:

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

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

浮點數(shù)數(shù)據(jù)類型用于存儲帶有小數(shù)點的正數(shù)和負數(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ù)的默認類型是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\n", 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\n", 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é)果:

類型:string, 值:Hello!
類型:string, 值:
類型:string, 值:World 1

最后

為了方便其他設(shè)備和平臺的小伙伴觀看往期文章:

微信公眾號搜索:Let us Coding,關(guān)注后即可獲取最新文章推送

看完如果覺得有幫助,歡迎 點贊、收藏、關(guān)注文章來源地址http://www.zghlxwxcb.cn/news/detail-680341.html

到了這里,關(guān)于Go 數(shù)據(jù)類型的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 100天精通Golang(基礎(chǔ)入門篇)——第5天: Go語言中的數(shù)據(jù)類型學(xué)習(xí)

    100天精通Golang(基礎(chǔ)入門篇)——第5天: Go語言中的數(shù)據(jù)類型學(xué)習(xí)

    ?? 博主 libin9iOak帶您 Go to Golang Language.? ?? 個人主頁——libin9iOak的博客?? ?? 《面試題大全》 文章圖文并茂??生動形象??簡單易學(xué)!歡迎大家來踩踩~?? ?? 《IDEA開發(fā)秘籍》學(xué)會IDEA常用操作,工作效率翻倍~?? ?? 希望本文能夠給您帶來一定的幫助??文章粗淺,敬請批

    2024年02月08日
    瀏覽(34)
  • 過擬合和欠擬合:機器學(xué)習(xí)模型中的兩個重要概念

    過擬合和欠擬合:機器學(xué)習(xí)模型中的兩個重要概念

    在機器學(xué)習(xí)模型中,過擬合和欠擬合是兩種常見的問題。它們在模型訓(xùn)練和預(yù)測過程中扮演著重要的角色。了解過擬合和欠擬合的概念、影響、解決方法以及研究現(xiàn)狀和趨勢,對于提高機器學(xué)習(xí)模型性能和實用性具有重要意義。 過擬合是指機器學(xué)習(xí)模型在訓(xùn)練數(shù)據(jù)上表現(xiàn)優(yōu)良

    2024年02月09日
    瀏覽(31)
  • 【Golang星辰圖】數(shù)據(jù)管理利器:Go編程語言中的數(shù)據(jù)庫和搜索引擎綜合指南

    Go編程語言是一種強大、類型安全且高效的編程語言,它在處理數(shù)據(jù)庫和搜索引擎方面有著廣泛的應(yīng)用。本篇文章將詳細介紹幾個Go編程語言中常用的數(shù)據(jù)庫和全文搜索引擎,包括Go-bleve、Go-pgx、Go-leveldb/leveldb、Go-xorm、Go-mysql-driver和Go-bbolt/bbolt。對于每個工具,我們將介紹其功

    2024年03月26日
    瀏覽(109)
  • 開源分布式計算框架 Apache Beam 中的一些重要概念和術(shù)語

    作者:禪與計算機程序設(shè)計藝術(shù) Apache Beam(波) 是一個開源的分布式計算框架,主要用于數(shù)據(jù)處理管道的編寫。它具有統(tǒng)一的編程模型,能夠運行在多種執(zhí)行環(huán)境中,包括本地機器、云計算平臺和大數(shù)據(jù)集群。Beam 提供了許多內(nèi)置的功能和擴展點,包括基于 MapReduce 的批處理、

    2024年02月07日
    瀏覽(17)
  • Go語言中的結(jié)構(gòu)體:靈活性與可擴展性的重要角色

    結(jié)構(gòu)體是Go語言中重要且靈活的概念之一。結(jié)構(gòu)體的使用使得我們可以定義自己的數(shù)據(jù)類型,并將不同類型的字段組合在一起,實現(xiàn)更靈活的數(shù)據(jù)結(jié)構(gòu)。本文旨在深入介紹Go語言中的結(jié)構(gòu)體,揭示其重要性和靈活性,并向讀者展示結(jié)構(gòu)體支持的眾多特性,展示其強大之處。 在

    2024年02月08日
    瀏覽(19)
  • 緩存友好在實際編程中的重要性

    當(dāng)CPU執(zhí)行程序時,需要頻繁地訪問主存儲器(RAM)中的數(shù)據(jù)和指令。然而,主存儲器的訪問速度相對較慢,與CPU的運算速度相比存在顯著差異,每次都從主存中讀取數(shù)據(jù)都會導(dǎo)致相對較長的等待時間,從而降低計算機的整體性能。為了減弱這種速度差異帶來的影響,計算機系

    2024年02月14日
    瀏覽(18)
  • Docker 核心概念深度解析:探索容器、鏡像和倉庫在Docker生態(tài)系統(tǒng)中的重要作用和 應(yīng)用

    Docker 核心概念深度解析:探索容器、鏡像和倉庫在Docker生態(tài)系統(tǒng)中的重要作用和 應(yīng)用

    ???? 博主 libin9iOak帶您 Go to New World.??? ?? 個人主頁——libin9iOak的博客?? ?? 《面試題大全》 文章圖文并茂??生動形象??簡單易學(xué)!歡迎大家來踩踩~?? ?? 《IDEA開發(fā)秘籍》學(xué)會IDEA常用操作,工作效率翻倍~?? ???? 希望本文能夠給您帶來一定的幫助??文章粗淺,敬

    2024年02月16日
    瀏覽(47)
  • Python重要數(shù)據(jù)類型之元組

    定義一個元組,格式是 變量名=(元素1,元素2,元素3),元組中的值可以是多種數(shù)據(jù)類型 可以使用索引查找到元組中的指定元素,index的值從左往由,從0開始,從右往左-1開始,使用切片取多個值[start:stop:step]

    2024年02月12日
    瀏覽(19)
  • Go 語言中的接口類型轉(zhuǎn)換詳解

    Go 語言是一門靜態(tài)類型的語言,其中類型轉(zhuǎn)換是一項基本的操作。在 Go 中,接口類型轉(zhuǎn)換是一種特殊的類型轉(zhuǎn)換,它涉及到將一個接口類型的值轉(zhuǎn)換為其他具體類型的值。這個過程涉及到類型斷言(Type Assertion)和類型判斷(Type Switching)。本篇博客將深入探討 Go 語言中接口

    2024年01月21日
    瀏覽(24)
  • 深入探討 Go 語言中的 Map 類型

    Go 語言中的 map 類型是一種非常強大且常用的數(shù)據(jù)結(jié)構(gòu),它提供了一種鍵值對的映射關(guān)系。本篇博客將深入討論 Go 中的 map 類型,包括其基本用法、特性、以及一些最佳實踐。 1. 聲明和初始化 在 Go 中,你可以使用 make 函數(shù)來創(chuàng)建一個空的 map 。 map 的鍵和值可以是任意數(shù)據(jù)類

    2024年01月17日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包