命名型別和未命名型別和基礎型別

2022-07-11 20:00:17 字數 642 閱讀 4440

命名型別:乙個命名型別一定跟其他型別不同.

哪些是命名型別

1. 預先宣告的型別,如int/int8/boo/float32...

2.使用type宣告的型別,類似起別名,如type aint int

var i int // named type

type myint int // named type

var b bool // named type

未命名型別:複雜資料型別都是未命名型別.

string // unnamed type

map[string]string // unnamed type

[10]int // unnamed type

基礎型別:查詢基礎型別,最終遞迴到命名型別或未命名型別.

如果t 是預先宣告型別:boolean, numeric, or string(布林,數值,字串)中的乙個,或者是乙個型別字面量(type literal),他們對應的基礎型別就是t自身。

否則,t的基礎型別就是 t所引用的那個型別的型別宣告(type declaration)。

型別 多變數賦值和命名建議

go noinline go nosplit func test int,int func main 多變數賦值涉及計算規則問題,很多語言對於多變數賦值其實是個坑。go 語言的做法先計算右邊的值,然後批量對左邊進行賦值。a,b 1,2沒有歧義,a,b b 1,a 2怎麼計算呢?第一種解釋先計算b 1...

命名的強制型別轉換

強制型別轉換的格式為 cast name expression static cast 任何具有明確定義的型別轉換,只要不包含底層const,都可以使用static cast,例如 int i,j double k static cast j i 當需要把乙個較大的算數型別轉換成乙個較小的算數型別時...

JS基礎型別和引用型別

首先我們知道js資料型別分為基礎型別和引用型別,接下來我們談談基礎型別和引用型別的區別 1.es5中基礎型別包括 number,string,null,undefined,boolean。es6新增了一種基礎型別symbol,基礎型別的儲存是存放在棧中,原因是基礎型別儲存的空間很小,存放在棧 sta...