布林型別
位元組型別
go語言中的字串型別都是不可變型別,預設使用utf-8編碼。
兩種表示形式:
(1)雙引號表示
var a =
"char"
//定義個字串變數a,值為 "char"
當然雙引號裡面也可以是轉義字元,八進位制表示或十六進製制表示。
var a =
"中\n國"
var b =
"\x61"
var c =
"\142"
(2)單引號表示
單引號也可以表示字串,與雙引號的區別是單引號裡面的內容原樣輸出,
var a =
"中\n國"
// 輸出的結果為 "中\n國" 轉義字元回車並不會生效
go語言同時提供了有符號和無符號的整數型別,其中包括 int8、int16、int32 和 int64 四種大小截然不同的有符號整數型別,分別對應 8、16、32、64 bit(二進位制位)大小的有符號整數,與此對應的是 uint8、uint16、uint32 和 uint64 四種無符號整數型別。
此外還有 int ,uint 型別,對應所在機器的cpu位元組碼待定的長度,機器是32位的那麼int就表示有符號32bit大小,機器是64位的int就表示有符號的64bit大小。uint也是同樣同理,只不過表示的是無符號的資料型別而已。
uintptr 是屬於無符號的資料型別,沒有指定bit大小,為什麼沒有指定大小呢?因為我們日常編碼開發過程中壓根就不回用到。它用於底層**編譯互動使用。
(1)定義
var a = 10
// 定義乙個整型資料型別變數a
顧名思義,浮點型即為小數型別,有 float32(精確到小數點後7位),float64(精確到小數點後15位),
定義:
var f = 3.1415926
var v
= 3.0
var v1 float64 = 3.0000000000000001
// 不顯示宣告資料型別,v 的預設型別是float64, v
== v1 返回true, 應為float64後15位以後會忽略。
沒錯,負數型別就是高中學的負數那種,有實部與虛部。go語言中的複數型別有兩種:complex64,complex128
定義:
// 定義64bit型別複數
a := complex64(2 + 5i)
// 定義128bit型別複數
b := complex(2, 5)
// 定義128bit型別複數
c := complex128(4 +0 5i)
// 獲取出複數的虛數部分值
fmt.printf(
"%v\n", imag(a))
fmt.printf(
"%v\n", imag(b))
fmt.printf(
"%v\n", imag(c))
fmt.printf(
"%v\n", real(c))
與其他程式語言的bool型別一樣,幾乎沒有區別,即,真值(true) 假值(false)
(1)定義:
// 定義乙個bool型別b 值為true
var b =
true
// 定義乙個bool型別c 值為false
c :=
false
(2)與字串型別互相轉換
// string 轉 bool
// 字串可以是 "1", "t", "t", "true", "true", "true","0", "f", "f", "false", "false", "false" 中的任何乙個
var b =
"true"
v,err := strconv.parsebool(b)
// bool 型別轉string
f :=
false
v := strconv.formatbool(f)
// 如果 f 值為false,返回字串「false」 ;值為true 返回字串「true」
因為golang中字串其實是可以看成是兩種形態,一種是位元組型別,一種是字元型別;型別定義好字串之後是不能夠修改的,假設你有個字串 str := 「中guo」,你想對位元組進行修改,那麼你就可以把str先轉換位byte , 如下:
str :=
"123abc"
strbyte :=
byte(str)
fmt.print(string(strbyte)) // 輸出 「123abc」
strbyte[0]
= 65
fmt.print(string(strbyte)) // 輸出 「a23abc」
str2 :=
"中國123"
strrune :=
rune(str2)
fmt.print(
"%#v",string(strrune))// 輸出"中國123"
strrune[0]
= 65
fmt.print(
"%#v",string(strrune))// 輸出"a國124"
總結:
(1)你想修改乙個字串中的某乙個字元,可以先把字串轉為rune,然後根據下標進行修改;
(2)你想修改乙個字串中的某乙個位元組,可以先把字串轉為byte,然後根據下標進行修改;
Go語言基礎資料型別轉換
前面給大家分享過go語言中的基本資料型別 沒有關注的可以看下歷史訊息 分別是 布林型別 整形 浮點型 複數型別 字串和字元型別 go語言是強型別語言,不能像php那樣可以自動轉換,需要顯示的進行強制轉換。這裡是引用go語言基礎資料型別之萬丈高樓平地起 數值型別之間的轉換 在進行數值型別轉化時只需要使...
Go語言資料型別
go語言任何乙個變數都有乙個型別。go語言的資料型別分為基礎型別 引用型別 結構型別 基礎型別 數值型別 字元型別 字串型別 布林型別 陣列型別 引用型別 切片 map channel inte cce型別 結構型別 結構體go語言整型分為有符號 無符號型別兩大型別 有符號整數型別 既可以支援正數也...
Go 語言資料型別
在 go 程式語言中,資料型別用於宣告函式和變數。資料型別的出現是為了把資料分成所需記憶體大小不同的資料,程式設計的時候需要用大資料的時候才需要申請大記憶體,就可以充分利用記憶體。go 語言按類別有以下幾種資料型別 序號型別和描述 1布林型 布林型的值只可以是常量 true 或者 false。乙個簡...