go语言基础入门(1月17第三天)

50 阅读2分钟

当青训营遇上码上掘金

类型别名和自定义类型

自定义类型是定义了一个全新的类型

//将MyInt定义为int类型
    type MyInt int

通过type关键字的定义,MyInt就是一种新的类型,它具有int的特性

  • 起别名:Go1.9版本添加的新功
type TypeAlias = Type
type byte = uint8
type rune = int32
//类型定义(一种新的类型)
type NewInt int

//类型别名
type MyInt = int  (同一种类型只是是别名)

func main() {
    var a NewInt
    var b MyInt

    fmt.Printf("type of a:%T\n", a) //type of a:main.NewInt  表示main包下定义的NewInt类型
    fmt.Printf("type of b:%T\n", b) //type of b:int
}

普通函数和方法

中文文档

接口

在Go语言中接口(interface)是一种类型,一种抽象的类型

interface是一组method的集合

 type 接口类型名 interface{
        方法名1( 参数列表1 ) 返回值列表1
        方法名2( 参数列表2 ) 返回值列表2
        …
    }
  • 接口名:一般会在单词后面加上er, 例如:Writer, Stringer
  • 参数列表、返回值列表:参数列表和返回值列表中的参数变量名可以省略
  • go的包管理工具

引入外部包直接裂开, 在尝试总结了其他大佬的分享后, 终于搞明白的GoPATH这个神奇东西

先设置好GOPROXY:这个代理可以加速我们下载包的速度

GOPROXY=goproxy.cn,direct

GOPATH理解

设置好后终端进行go mod init 初始化 (原来有go.mod需要先删除)

下载所需要的 go get xxxxxx

完成后外部库中就会有包

之后的学习方向主要在网络编程和框架的学习中,这几天的课听下来感觉是自己的水平太低,听不太懂,对于很多的问题都还没有实际遇到过.