美文网首页go
go语言中type的几种使用方式

go语言中type的几种使用方式

作者: __robin | 来源:发表于2019-01-22 15:27 被阅读395次

    1、定义结构体

    //结构体定义
    type person struct {
        // name string //注意后面不能有逗号
        age  int
    }
    
    func main() {
        //结构体初始化
        p := person{
            name: "taozs", //注意后面要加逗号
            age:  18,      //或者下面的}提到这儿来可以省略逗号
        }
        fmt.Println(p.name)
    }
    
        //初始化字段不一定要全部指定,比如下面也是可以的,name默认取string类型的零值,即空字符串
        p = person{
            age: 18,
        }
    

    2、根据已有类型,定义新类型

    type name string
    name类型与string拥有相同的特性,但两者是不同的类型

    type name string
    
    func main() {
        var myName name = "robin"
        l := []byte(myName)       //与string类型一样可以转字节数组
        fmt.Println(len(l))       //字节长度
    }
    

    还可以针对新类型定义方法。上面的name类型可以像下面这样定义方法:

    type name string
    
    func (n name) len() int {
        return len(n)
    }
    
    func main() {
        var myName name = "robin"
        fmt.Println(myName.len()) //调用对象的方法
    }
    

    3、定义接口

    type Phone interface {
       call()
    }
    

    4、定义函数类型

    type handle func(str string)  //自定义一个函数func,别名叫做handle,传入一个string参数
    

    相关文章

      网友评论

        本文标题:go语言中type的几种使用方式

        本文链接:https://www.haomeiwen.com/subject/ptaljqtx.html