Golang中的資料類型

資料型別指定有效的Golang變數可以包含什麼類型的資料。 Go語言中,類型分為以下四類:

Golang中的資料類型

  • 基本類型:數字、字串和布林值
  • 聚合類型:數組和結構
  • 引用類型:指標、切片、映射、函數和通道
  • 介面類型

這裡我們將討論 Go 語言中的基本資料型別。它們分為三個子類別:

  • 數位
  • 布林值

Golang中的常見資料類型

Golang 中的數字

在Go語言中,數字分為三個子類:

整數:在 Go 語言中,有符號和無符號整數都有四種不同的大小,如下表所示。有符號整數用 表示int,無符號整數用 表示uint

可能的算術運算:加法、減法、乘法、除法、餘數

資料類型

描述

int8 8位有符號整數
int16 16位有符號整數
int32 32位有符號整數
int64 64位有符號整數
uint8 8位元無符號整數
uint16 無符號整數1 6位
uint32 32位元無符號整數
uint64 64位元無符號整數
整數 無符號數和有符號數的大小相同,均為 32 位元或 64 位元
單位 無符號數和有符號數的大小相同,均為 32 位元或 64 位元
符文 這是 int32 的同義詞,也代表 Unicode 碼點。
位元組 這是 uint8 的同義詞。
uintptr 這是一個無符號整數類型。它的寬度未定義,但它可以包含指標值的所有位元。

例如:

// Chương trình Go sử dụng số nguyên
package main 
import "fmt"
		
func main() {
	
	// Dùng 8-bit unsigned int 
	var X uint8 = 225
	fmt.Println(X, X-3)
	
	// Dùng 16-bit signed int 
	var Y int16 = 32767
	fmt.Println(Y+2, Y-2) 
}

結果:

225 222
-32767 32765

算術運算範例:

// Các phép tính số học có thể có đối với số nguyên
// Tác giả : Chhanda Saha

package main

import "fmt"

func main() {

	var x int16 = 170
	var y int16 = 83
	//Cộng
	fmt.Printf(" addition : %d + %d = %d\n ", x, y, x+y)
	//Trừ
	fmt.Printf("subtraction : %d - %d = %d\n", x, y, x-y)
	//Nhân
	fmt.Printf(" multiplication : %d * %d = %d\n", x, y, x*y)
	//Chia
	fmt.Printf(" division : %d / %d = %d\n", x, y, x/y)
	//Mô đun
	fmt.Printf(" remainder : %d %% %d = %d\n", x, y, x%y)
}

結果:

Cộng :  170 + 83 = 253
Trừ : 170 - 83 = 87
Nhân : 170 * 83 = 14110
Chia : 170 / 83 = 2
Số dư : 170 % 83 = 4 
  • 浮點數:在Go語言中,浮點數分為兩種類型,如下表所示。
    • 算術運算可以是:加法、減法、乘法、除法。
    • 有三種字體:
      • 小數(3.15)
      • 功率(12e18 或 3e10)
      • 混合(13.16e12)
資料類型

描述

float32 32 位元 IEEE 754 浮點數
float64 64 位元 IEEE 754 浮點數

例如:

//Minh họa chương trình Go dùng số dấu chấm động
package main 
import "fmt"
		
func main() {
	a := 20.45
	b := 34.89
	
	// Phép trừ hai số dấu chấm động
	c := b-a
	
	// Hiện kết quả
	fmt.Printf("Result is: %f", c)
	
	// Hiện kiểu biến C
	fmt.Printf("\nThe type of c is : %T", c) 
}

結果:

Kết quả: 14.440000
Kiểu của C là : float64

浮點數算術運算範例:

// Các phép toán số học có thể có cho số thực
// Tác giả : Chhanda Saha
package main

import "fmt"

func main() {
	var x float32 = 5.00
	var y float32 = 2.25
	//Phép cộng
	fmt.Printf("addition : %g + %g = %g\n ", x, y, x+y)
	//Phép trừ
	fmt.Printf("subtraction : %g - %g = %g\n", x, y, x-y)
	//Phép nhân
	fmt.Printf("multiplication : %g * %g = %g\n", x, y, x*y)
	//Phép chia
	fmt.Printf("division : %g / %g = %g\n", x, y, x/y)

}

結果:

Phép cộng :  5 + 2.25 = 7.25
Phép trừ : 5 - 2.25 = 2.75
Phép nhân : 5 * 2.25 = 11.25
Phép chia : 5 / 2.25 = 2.2222223
  • 複數:複數分為兩部分,如下表所示。float32並且float64也是這些複數的一部分。積分函數從其虛部和實部產生一個複數,然後積分函數提取這些部分。
    • 複數中有幾個內建函數:
      • 複數-透過兩個浮點數創建複數。
      • real() – 將輸入複數的實部作為浮點數取得。
      • imag() – 取得輸入複數的虛部作為浮點數
資料類型

描述

複雜64 複數包含 float32 作為實部和虛部。
複雜128 複數包含 float64 作為實部和虛部。

例如:

// Chương trình Go dùng số phức
package main
import "fmt"

func main() {
	
var a complex128 = complex(6, 2)
var b complex64 = complex(9, 2)
fmt.Println(a)
fmt.Println(b)
	
// Hiện kiểu
fmt.Printf("The type of a is %T and "+
			"the type of b is %T", a, b)
}

結果:

(6+2i)
(9+2i)
Kiểu của a là complex128, kiểu của b là complex64

內建函數範例:

// Các hàm tích hợp là số phức
// Tác giả : Chhanda Saha
package main

import "fmt"

func main() {
	comp1 := complex(10, 11)
	// cú pháp init số phức
	comp2 := 13 + 33i
	fmt.Println("Complex number 1 is :", comp1)
	fmt.Println("Complex number 1 is :", comp2)
	// lấy phần real
	realNum := real(comp1)
	fmt.Println("Real part of complex number 1:", realNum)
	// lấy phần hình ảnh
	imaginary := imag(comp2)
	fmt.Println("Imaginary part of complex number 2:", imaginary)

}

結果:

Số phức 1 là: (10+11i)
Số phức 1 là: (13+33i)
Phần thực của số phức 1: 10
Phần ảo của số phức 2: 33

布林值

布林資料型別僅表示一位訊息,即真或假。 boolean 類型的值不能隱含或明確地轉換為任何其他類型。

例如:

//Minh họa chương trình dùng boolean
package main
import "fmt"

func main() {
	
	// Các biến
str1 := "Quantrimang"
str2:= "quantrimang"
str3:= "Quantrimang"
result1:= str1 == str2
result2:= str1 == str3
	
// Hiện kết quả
fmt.Println( result1)
fmt.Println( result2)
	
// Hiện kiểu của result1 và result2
fmt.Printf("Kiểu của result1 là %T và "+
				"kiểu của result2 là %T",
							result1, result2)
	
}

結果:

false
true
Kiểu của result1 là bool và kiểu của result2 là bool

字串資料類型表示 Unicode 碼位序列。換句話說,我們可以說字串是不可變的位元組序列,這意味著一旦創建了字串,就無法更改它。字串可以包含任意數據,包括人類可讀形式的零值位元組。可以使用加法運算子 (+) 連接字串。

例如:

// Chương trình Go dùng chuỗi
package main
import "fmt"

func main() {
	
	// Biến str chứa chuỗi
str := "Quantrimang"
	
// Hiện độ dài của chuỗi
fmt.Printf("Length of the string is:%d",
								len(str))
	
// Hiện chuỗi
fmt.Printf("\nString is: %s", str)
	
// Hiện kiểu biến str 
fmt.Printf("\nType of str is: %T", str)
}

結果:

Chiều dài của chuỗi là: 13
Chuỗi là: Quantrimang
Kiểu của chuỗi là: chuỗi

字串連接的範例:

// Nối chuỗi
// Tác giả : Chhanda Saha
package main

import "fmt"

func main() {
	var str1 string = "STRING_"
	var str2 string = "Concatenation"

	// Nối chuỗi bằng toán tử + 
	fmt.Println("New string : ", str1+str2)

}

結果:

New string :  STRING_Concatenation
Sign up and earn $1000 a day ⋙

Leave a Comment

Golang 中的命名回傳參數

Golang 中的命名回傳參數

在 Golang 中,命名回傳參數通常被稱為命名參數。 Golang 允許在函數簽章或定義中命名函數的傳回參數或結果。

Go 中的關鍵字

Go 中的關鍵字

關鍵字-關鍵字是語言中用於某些內在過程或代表某些預定義動作的字詞。以下是您需要了解的有關 Golang 中的關鍵字的知識。

Golang 中的函數參數

Golang 中的函數參數

Go 支援兩種主要的傳遞參數的方式:按值傳遞和按引用傳遞。 Go 預設使用按值傳遞。

Golang中傳回多個值的函數

Golang中傳回多個值的函數

在Go語言中,允許使用return語句從函數傳回多個值。換句話說,在函數中,一個return語句可以傳回多個值。

Go 中的 Switch 語句

Go 中的 Switch 語句

Golang 和大多數其他程式語言一樣,有 switch 語句。以下是如何在 Golang 中使用 switch 語句。

在 Golang 中使用選擇語句時需要了解的案例

在 Golang 中使用選擇語句時需要了解的案例

在本文中,我們將學習如何使用預設情況來避免死鎖。但首先,讓我們先了解一下使用 Golang select 指令時出現死鎖的情況是什麼?

Golang 中的匿名結構和字段

Golang 中的匿名結構和字段

Golang 中的匿名結構是沒有名稱的一次性臨時結構,而匿名欄位允許嵌入未命名的欄位。

如何在 Golang 中使用 Rune

如何在 Golang 中使用 Rune

Golang 中的 Runes 是什麼?如何在 Golang 中使用 Rune?文章會告訴你答案。

如何在 Golang 中使用運算符

如何在 Golang 中使用運算符

運算符允許我們對操作數執行不同類型的操作。在 Go語言中,運算子可以根據其不同的功能進行分類。

Golang 中的 Void 標識符

Golang 中的 Void 標識符

Golang 中的 _(底線)稱為空白標識符。標識符是程式組件的使用者定義名稱,用於識別目的。

如何用 Golang 創建基本程序

如何用 Golang 創建基本程序

你好世界!是任何程式語言中的第一個基本程式。您可以按照以下步驟使用 Golang 編寫第一個程式。

如何在 Windows 上安裝 Go

如何在 Windows 上安裝 Go

Golang 可以輕鬆安裝在 Windows 上。以下是在 Windows 上安裝 Golang 的詳細逐步指南。

Golang 中同名的方法

Golang 中同名的方法

Golang允許在同一個套件中建立兩個或多個同名的方法,但是這些方法的接收者必須是不同的類型。

Go 中的函數

Go 中的函數

在 Go 中,函數是執行特定任務的程式碼區塊,可以在整個程式中重複使用以節省記憶體、提高可讀性並節省時間。

Golang 中的命名回傳參數

Golang 中的命名回傳參數

在 Golang 中,命名回傳參數通常被稱為命名參數。 Golang 允許在函數簽章或定義中命名函數的傳回參數或結果。

WhatsApp 聊天桌布設定說明

WhatsApp 聊天桌布設定說明

WhatsApp 具有聊天桌布更換功能,允許用戶在 WhatsApp 上設定聊天主題。用戶可以從 30 種不同的聊天背景中進行選擇,或使用他們的個人圖像作為 WhatsApp 上的聊天背景。

什麼是 FLV 檔?如何在電腦上開啟FLV檔案?

什麼是 FLV 檔?如何在電腦上開啟FLV檔案?

您經常會從互聯網下載影片到您的電腦以便離線觀看,並且經常會看到 FLV 檔案。您是否正在苦苦思索如何打開它們?今天,我們將在下面的文章中為您提供有關 FLV 視訊檔案的資訊。

如何在手機、電腦上查看 Facebook 新聞存檔

如何在手機、電腦上查看 Facebook 新聞存檔

要查看已發布的 Facebook 新聞,您需要啟動 Facebook 上的新聞檔案。開啟存檔模式後,所有 Facebook 訊息都會保存在存檔中,以便您隨時查看。

最新 MU Luc Dia VNG 代碼以及如何兌換代碼

最新 MU Luc Dia VNG 代碼以及如何兌換代碼

您可以將 MU Luc Dia VNG 遊戲代碼兌換為 Zen 和其他貨幣。

10 款愛書人必備的應用程序

10 款愛書人必備的應用程序

即使你身邊沒有書,也不代表你必須停止閱讀。您只需要一部手機即可試用專為愛書人打造的社交媒體應用程序,找到您想閱讀的下一本書。

了解 Spotify Connect:迫使用戶退出 YouTube 音樂的 Spotify 功能

了解 Spotify Connect:迫使用戶退出 YouTube 音樂的 Spotify 功能

透過一個裝置控制另一個裝置上播放的音樂的能力是一項被低估的功能。 YouTube Music 沒有此功能 - 這迫使人們轉向 Spotify。

如何在 Minecraft Bedrock 和 Java 版本中讓雪球爆炸

如何在 Minecraft Bedrock 和 Java 版本中讓雪球爆炸

Minecraft 指令允許玩家創建許多有趣的效果,其中一個有趣的選項是讓雪球爆炸。以下是在 Minecraft 中製作爆炸雪球的方法。

你的計算機有NPU嗎?檢查方法如下

你的計算機有NPU嗎?檢查方法如下

在 Windows 11 上,您可以透過 3 種非常簡單的方法快速檢查您的電腦是否具有 NPU(神經處理單元)。

休眠模式對 PC 有害嗎?

休眠模式對 PC 有害嗎?

休眠模式的誕生是為了滿足需求,讓電腦全天候運行,而又不想耗盡電池,或確保系統不受電源故障的影響,這與睡眠模式不同。

在 iPhone 上新增 2024 年歐洲盃日曆的說明

在 iPhone 上新增 2024 年歐洲盃日曆的說明

在 iPhone 上新增 2024 年歐洲盃日曆可以幫助用戶輕鬆關注 2024 年歐洲盃這一精彩足球賽事框架內的比賽。

阿里巴巴推出 QwQ-32b,DeepSeek 的有力競爭對手

阿里巴巴推出 QwQ-32b,DeepSeek 的有力競爭對手

阿里巴巴的言論是否會成真還有待觀察,但看起來 ChatGPT 和 DeepSeek 現在有了一位強大的新競爭對手。

關於三星One UI 7的資訊摘要

關於三星One UI 7的資訊摘要

運行 One UI 7.0 的三星 Galaxy 手機將透過鎖定模式更加安全,防止未經授權的攻擊。

如何在 Photoshop 中為照片建立海報效果

如何在 Photoshop 中為照片建立海報效果

使用 Photoshop 為您的影像添加快速簡便的海報效果,以重現使用有限墨水顏色列印的海報的經典外觀。

如何在舊 Outlook 與新 Outlook 之間切換

如何在舊 Outlook 與新 Outlook 之間切換

並非所有人都熟悉新的 Outlook 介面,並希望返回舊版 Outlook 以使用 Outlook 的全部功能和更多自訂功能。以下是在舊版 Outlook 和新版 Outlook 之間切換的說明。