Type declaration digunakan untuk membuat tipe data baru menggunakan tipe data yang sudah ada (string, int, float, bool, array, slice, map, struct, interface atau function).
Type alias digunakan untuk memberikan alias pada tipe data yang sudah ada, sementara type definition digunakan untuk membuat tipe data baru dari tipe data yang sudah ada. Contohnya seperti code dibawah ini.
packagemainimport ("fmt")// type alias or alias declarationtypestr1=string// type definition// bisa untuk menampung methodtypestr2stringfuncmain() {var username1 str1="member_01"var username2 str2="member_02" fmt.Printf("type of username1 is %T\n", username1) fmt.Printf("type of username2 is %T\n", username2)// passing variablevar user1 string= username1var user2 string= username1 fmt.Println(user1) fmt.Println(user2)}
type of username1 is string
type of username2 is main.str2