Skip to content

Commit 4d30d61

Browse files
committed
adds user-defined-types eg
1 parent 624b049 commit 4d30d61

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package main
2+
3+
import "fmt"
4+
5+
/**
6+
* User defined type customString act as string type
7+
*/
8+
type customString string
9+
10+
/**
11+
* User defined type userInfo act as struct type
12+
*/
13+
type userInfo struct {
14+
name string
15+
greeting string
16+
}
17+
18+
func main() {
19+
20+
/**
21+
* Use customString as type
22+
*/
23+
var message customString = "Hello World!"
24+
fmt.Println(message)
25+
26+
/**
27+
* 1 way: Assign values to userInfo struct
28+
*/
29+
var defaults = userInfo{};
30+
defaults.name = "Unknown"
31+
defaults.greeting = "Welcome"
32+
33+
fmt.Println(defaults.name)
34+
fmt.Println(defaults.greeting)
35+
36+
/**
37+
* 2 way: Assign values to userInfo struct; Go by order
38+
*/
39+
var facebookProfile = userInfo{"Ashwin", "Hello!"}
40+
41+
fmt.Println(facebookProfile.name)
42+
fmt.Println(facebookProfile.greeting)
43+
44+
/**
45+
* 3 way: Assign values to userInfo struct; Go by member name
46+
*/
47+
var linkedinProfile = userInfo{greeting: "Hello Go!", name: "Ashwin Hegde"}
48+
49+
fmt.Println(linkedinProfile.name)
50+
fmt.Println(linkedinProfile.greeting)
51+
}

0 commit comments

Comments
 (0)