package main
import (
"fmt"
)type person struct
func (p person)testper()
// 注意兩者區別
//type man person 另外型別
type man = person // 別名
func (m man) getage() int
func main()
per := person
fmt.printf("%t --%t\n", m, per)
fmt.println(m.getage())
fmt.println(m.name)
per.getage()
}
輸出:
main.person --main.person
10hahha
定義型別別名的寫法為:
type typealias = type
型別別名規定:typealias 只是 type 的別名,本質上 typealias 與 type 是同乙個型別
而上面**中//type man person 則是另外乙個型別 即main.man 並具備的person欄位
兩者擁有相同的特性,但兩者是不同的型別
定義型別別名 typedef,using
說到型別別名,無非是給型別名 如int,char,float,double,bool 取乙個比較有特殊含義的名字而已 最常用的關鍵莫過於typedef吧 typedef最常見的用法是與結構體struct連用,這是c語言的語法,c 已經不這樣用了 或者很少這樣用 在c語言中宣告結構體常用以下格式 1 ...
Go中型別斷言 別名型別 型別定義
type assertions x.t 斷言x不是空值,並且x中儲存的值屬於t型別。符號x.t 稱為型別斷言。如果t不是介面型別,x.t 斷言x的動態型別與t型別相同。在這種情況下,t必須實現x的 介面 型別 否則,型別斷言是無效的,因為x不可能儲存t型別的值。如果t是介面型別,則x.t 斷言x的動...
C 11 using定義型別別名 模板別名
在c 98 03裡,我們可以通過typedef 關鍵字定義乙個型別的別名,比如 typedef unsigned int uint t 在這裡我們定義了unsigned int型別的別名和uint t,在以後需要使用unsigned int的時候我們都可以用uint t替換,但是uint t僅僅是作...