美文网首页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的几种使用方式

    1、定义结构体 2、根据已有类型,定义新类型 type name string name类型与string拥有相...

  • Go的进程阻塞

    在Go语言中,如果使用goroutine,经常需要阻塞主进程来等待goroutine的结束,我们有以下几种方式来实...

  • Go Type

    Go语言中type关键字用于定义类型,因此又称为类型别名。 Go语言中的type并不对应着C/C++语言中的typ...

  • TODO:Go语言goroutine和channel使用

    TODO:Go语言goroutine和channel使用 goroutine是Go语言中的轻量级线程实现,由Go语...

  • Go Type System(一)

    Overview of Go Type System Go由哪几种类型组成?Built-in Basic Type...

  • Golang关键字--type 类型定义

    参考Go关键字--type,原文除类型定义外,还介绍了type其它几种使用场合。本文只说类型定义。 type有如下...

  • go 基础内容总结二(数组)

    go语言中的数组是不可边长的定义:1)var a [length]type2)a := [length]type{...

  • Go语言中拷贝文件的几种常用的方式及性能对比

    Go语言中拷贝文件的几种常用的方式 简介 本篇文章将介绍Go语言中,最最最常用的3种拷贝文件的方法,这三种方法各有...

  • go学习笔记(三)——语法

    1.变量 变量是每种语言都不可或缺的声明方式,go提供了以下几种声明方式 需要注意的是,在go语言中声明的变量如果...

  • Go数组、切片

    1 数组 1.1 如何定义数组 数组是具有相同类型且长度固定的一组连续数据。在go语言中我们可以使用如下几种方式来...

网友评论

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

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