← 返回文章列表

golang學習記錄(4)

Go 基礎學習系列第 4 篇,記錄語法、示例與學習過程。

go的基礎資料型別有bool、string、int、float、byte、rune、uint、int8、int16、int32、int64、uint8、uint16、uint32、uint64、float32、float64等

具體可以分成以下幾種:

go

1、數值、浮點數和字元型別

1.1、布林型別

true 和 false

1.2、數值型別

1.2.1、整數

多種數值考慮到了空間要求高的情況

int8

int16

int32

int64

uint8

uint16

uint32

uint64

int

uint

int和uint的大小取決於作業系統架構,作業系統時32位就是32位,作業系統是64位就是64位

其他型別具體介紹如下: go

1.2.2、浮點數

float32

float64

分別表示32位浮點數和64位浮點數

1.2.3、複數

在go中沒有複數型別,但是可以使用complex64和complex128型別來表示複數。

go中也有專門的包處理複數

import "math/cmplx"

1.2.4、byte位元組

go中沒有char型別,只有byte型別,byte是uint8的別名,byte型別用於表示一個位元組(8bit),通常用於處理二進位制資料和文字資料。

var b byte = 'A'

1.2.5、rune型別

rune是int32的別名,rune型別用於表示一個Unicode字元,通常用於處理Unicode文字資料。

var r rune = '中'

1.3、字元和字串

單個字元一般用byte進行儲存

字串就是string

var name string
name = "aorange"

2、基本型別的轉換

在go中定義了byte,他是uint8的別名,透過這種別名的方式確定byte用於字元,而不是將uint8既用於字元又用於整數。

var a int8 = 12
var b = uint8(a)

var f float32 = 12.3
var g = int(f)

// 字符转换为数字,这种情况可能会出错,有err返回
var isrt = "12"
var i, err = strconv.Atoi(isrt)
if err!= nil {
    fmt.Println("转换失败")
}

//数字转字符串类型,理论上不会出错,没有err返回
var i = 12
var s = strconv.Itoa(i)

3、format進行格式轉換

將字串轉成folat32,或者bool型別 將其他型別轉成字串型別

var s = "12.3"
var f, err = strconv.ParseFloat(s, 32) // 32表示32位浮点数

//ParseInt进行进制转换
parseInt , err := strconv.ParseInt(s: "12", 8, 64)//8表示8进制,64表示64位
//此时输出结果为10进制的10

//有关bool类型的转换
parseBool, err := strconv.ParseBool(s: "true")
//转换失败parseBool结果为零值,即false,err不为空
//true,t,T,y,Y,1,
//false,f,F,n,N,0
//其他结果转换可能失败

//基本类型转字符串
strconv.FmoatBool(b: true)
fmt.Println(b)
//其他的转换可以找源码看看,都差不多,都是用的strconv.FormatXXX

轉換失敗測試如下: go

4、運算子和表示式

這玩意需要到了就直接查,常用的跟C++差不多

4.1、算術運算子

go

4.2、關係運算子

go

4.3、邏輯運算子

go

4.4、賦值運算子

go

4.5、位運算子

對效能要求高的情況下考慮與運算,與運算比加減乘除運算快很多

go

go

go

4.6、go運算子的優先順序

具體優先順序如下: go

go

基礎還是要多使用,熟悉就好了,各種語言關於資料的型別和轉換都有相似之處

關於這篇文章的日期

保留舊站原始文章標註的日期;實際開始寫作的時間可能更早。

原始日期: 2024-10-13 22:37:16 +0800

同一系列 · Go 基礎學習

上一篇golang學習記錄(3) ←下一篇golang學習記錄(5) →