首頁 >後端開發 >Golang >Go語言中的基本型別與複雜型別

Go語言中的基本型別與複雜型別

WBOY
WBOY原創
2023-06-01 12:10:51843瀏覽

Go語言是一種快速、安全、可靠的程式語言,由Google於2009年開發。 Go語言的型別系統具有簡單、明確、強型別等特徵。

在Go語言中,基本型別包括布林型、整數、浮點型、複數型、字串型和指標型等。此外,Go語言還提供了一些複雜類型,如陣列、切片、映射、通道、介面和結構體等。接下來,我們將詳細介紹Go語言中的基本類型和複雜類型。

一、基本型別

  1. 布林型

布林型的取值只有true和false兩種,大小寫不敏感,用bool型別表示。例如:

var b bool = true

  1. 整數

整數型是Go語言中的基本型別之一,包括int、int8、 int16、int32、int64、uint、uint8、uint16、uint32、uint64和uintptr等。其中,int、uint和uintptr為系統相關類型,可以根據不同的作業系統和硬體架構有不同的位數和值範圍​​。例如:

var i int = 100
var ui uint = 100
var uptr uintptr = 0x123456789abcdef0

  1. #浮點類型


浮點型分為float32和float64兩種,用來表示浮點數。例如:

    var f32 float32 = 3.1415
  1. var f64 float64 = 3.141592653589793

複數類型


#複數型由實部和虛部組成由實部和虛部組成,分為complex64和complex128兩種,用以表示複數。例如:

    var c64 complex64 = 3 4i
  1. var c128 complex128 = 3 4i

字串型

#字串型用於表示字元序列,用雙引號包裹起來。例如:
  1. var s string = "Hello, world!"

指標類型

指標型用來表示記憶體位址,可以用於間接存取變數和分配記憶體等。例如:

var p *int = &i
  1. 二、複雜類型

#陣列

陣列是一組具有相同數據類型的變數的有序集合。數組的長度是固定的,定義時需要指定長度。例如:
  1. var a [3]int = [3]int{1, 2, 3}

#切片

##切片是對陣列的一種封裝,動態分配內存,長度可以變化。切片不需要指定長度,使用make函數建立。例如:

var s []int = make([]int, 3)
s[0] = 1

s[1] = 2
    s[2] = 3
映射

映射是一種鍵值對的資料結構,也稱為字典或關聯數組。映射的鍵和值都可以是任意類型,透過make函數建立。例如:

var m map[string]int = make(map[string]int)

m["one"] = 1
    m["two"] = 2
#通道

通道是一種用於協程之間通訊的機制,可以實現資料同步和共用。通道分為帶緩衝通道和不帶緩衝通道,使用make函數建立。例如:

var ch chan int = make(chan int, 3)
ch <- 1

ch <- 2
    ch <- 3
#介面

介面是一種定義行為的類型,透過約定實作特定的方法來實作介面。介面可以實現多態,提高程式的靈活性和可擴充性。例如:

type MyInterface interface {

MyMethod() int
    }
#結構體

結構體是將若干個欄位組合在一起形成的類型。結構體的欄位是有類型的,也可以包含其他結構體類型的欄位。例如:

type Person struct {

Name string
Age int

}

三、總結

###Go語言的型別系統簡單、明確且強型,基本型別包括布林型、整數、浮點型、複數型、字串型和指標型等。複雜類型包括陣列、切片、映射、通道、介面和結構體等。熟練Go語言中的基本類型和複雜類型,可以提高程式效率和程式碼品質。 ###

以上是Go語言中的基本型別與複雜型別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn