当青训营遇上码上掘金
类型别名和自定义类型
自定义类型是定义了一个全新的类型
//将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
完成后外部库中就会有包
之后的学习方向主要在网络编程和框架的学习中,这几天的课听下来感觉是自己的水平太低,听不太懂,对于很多的问题都还没有实际遇到过.