青春纸盒子

文: 芦苇

你喜欢我笑的样子

我靠上了落寞的窗子

晚风吹起了我的袖子

明月沾湿了你的眸子


转身,你走出了两个人的圈子

树影婆娑,整座院子


挽起袖子

回头,把揽你忧伤一地的影子

装进,青春,这纸盒子


更多代码请关注我的微信小程序: "ecoder"

luwei0915

导航

80_Go基础_1_48 类型别名、类型定义

 1 package main
 2 
 3 import (
 4     "fmt"
 5     "strconv"
 6 )
 7 
 8 // 1.定义一个新的类型
 9 type myint int
10 type mystr string
11 
12 // 2.定义函数类型
13 type myfun func(int, int) string
14 
15 func fun1() myfun { //fun1()函数的返回值是myfun类型
16     fun := func(a, b int) string {
17         s := strconv.Itoa(a) + strconv.Itoa(b)
18         return s
19     }
20     return fun
21 }
22 
23 // 3.类型别名
24 type myint2 = int //不是重新定义新的数据类型,只是给int起别名,和int可以通用
25 
26 func main() {
27     /*
28         type:用于类型定义和类型别名
29 
30             1.类型定义:type 类型名 Type
31             2.类型别名:type 类型名 = Type
32     */
33 
34     var i1 myint
35     var i2 = 100 // int
36     i1 = 200
37     fmt.Println(i1, i2) // 200 100
38 
39     var name mystr
40     name = "王二狗"
41     var s1 string
42     s1 = "李小花"
43     fmt.Println(name, s1) // 王二狗 李小花
44     //i1 = i2 //cannot use i2 (type int) as type myint in assignment
45     //name = s1 //cannot use s1 (type string) as type mystr in assignment
46     fmt.Printf("%T,%T,%T,%T\n", i1, i2, name, s1) // main.myint,int,main.mystr,string
47     fmt.Println("----------------------------------")
48 
49     res1 := fun1()
50     fmt.Println(res1(10, 20)) // 1020
51     fmt.Println("----------------------------------")
52 
53     var i3 myint2
54     i3 = 1000
55     fmt.Println(i3)                      // 1000
56     i3 = i2                              // 类型别名可以这么操作
57     fmt.Println(i3)                      // 100
58     fmt.Printf("%T,%T,%T\n", i1, i2, i3) // main.myint,int,int
59 
60 }

 

posted on 2021-12-02 14:57  芦苇の  阅读(29)  评论(0编辑  收藏  举报