![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Go语言
辽宁大学
毕业于朝阳科技大学
展开
-
package awesomeProject is not in GOROOT (/usr/local/go/src/awesomeProject)
出现这个问题package awesomeProject is not in GOROOT (/usr/local/go/src/awesomeProject)解决方案 go mod init 包名原创 2021-04-12 22:04:32 · 2079 阅读 · 0 评论 -
go中channel的close
package mainimport "fmt"func main() { //匿名函数 c:=make(chan int) go func() { for i:=0;i<10;i++{ c<-i } close(c)//这个是关闭通道 }() for{ if data,ok:=<-c;ok{ fmt.Println(data) } else{ break } } fmt.Println("Main Finished..").原创 2021-04-12 19:55:59 · 303 阅读 · 0 评论 -
go语言channel的实现
package mainimport ( "fmt" "time")func newTask(){ i:=0 for{ i++ fmt.Println("new Goroutine :i=%d",i) time.Sleep(1*time.Second) }}func main() { //匿名函数 func(a int,b int){ fmt.Println("a=",a,"b=",b) return }(3,5) //定义一个channel c:=m.原创 2021-04-12 19:21:56 · 86 阅读 · 0 评论 -
go语言的匿名函数
package mainimport ( "fmt" "time")func newTask(){ i:=0 for{ i++ fmt.Println("new Goroutine :i=%d",i) time.Sleep(1*time.Second) }}func main() { //匿名函数 func(a int,b int){ fmt.Println("a=",a,"b=",b) return }(3,5)}原创 2021-04-12 15:50:23 · 75 阅读 · 0 评论 -
go语言中的携程
package mainimport ( "fmt" "time")func newTask(){ i:=0 for{ i++ fmt.Println("new Goroutine :i=%d",i) time.Sleep(1*time.Second) }}func main() { go newTask()//这个是从的携程 /* 主的协程停止,从的携程就废掉啦。 */ i:=0 for{ i++ fmt.Println("main gorouti.原创 2021-04-12 15:18:13 · 1324 阅读 · 0 评论 -
go语言的反射
package mainimport ( "fmt" "reflect")type resume struct{//这是一个resume类 Name string `info:"name" doc:"my name is"`//这个符合在数字1的旁边 Gender string `info:"gender"`}func findTag(str interface{}){ t:=reflect.TypeOf(str).Elem() for i:=0;i<t.NumField().原创 2021-04-12 08:43:51 · 78 阅读 · 0 评论 -
go语言的反射
package mainimport ( "fmt" "reflect")//定义a funcfunc Reflectnum(abx interface{}) { fmt.Println("type:",reflect.TypeOf(abx)) fmt.Println("reflect",reflect.ValueOf(abx))}func main() { var num float64=1.15926 Reflectnum(num)}原创 2021-04-11 21:15:03 · 70 阅读 · 0 评论 -
go语言的pair
package mainimport ( "fmt")func myFunc(abx interface{}){ fmt.Println("my func is called") fmt.Println(abx)//这个abx 可以随便换 //类型断言机制 value,ok:=abx.(string) if !ok{ fmt.Println("abx is not string") }else{ fmt.Println("abx .原创 2021-04-11 21:04:15 · 1902 阅读 · 0 评论 -
go语言中的万能interface类型
package mainimport ( "fmt")func myFunc(abx interface{}){ fmt.Println("my func is called") fmt.Println(abx)//这个abx 可以随便换 //类型断言机制 value,ok:=abx.(string) if !ok{ fmt.Println("abx is not string") }else{ fmt.Println("abx is string,value=",valu.原创 2021-04-11 19:38:49 · 247 阅读 · 0 评论 -
go语言多态
package mainimport "fmt"type Human struct{ //定义了Human类 name string gender string}func (this *Human) Eat(){ fmt.Println("Human eat.....")}func (this *Human) Walk(){ fmt.Println("Human walk ......")}type SuperHuman struct{//定义了个SuperHuman 类 H.原创 2021-04-11 19:20:29 · 193 阅读 · 0 评论 -
go语言中类的继承和方法的使用
package mainimport "fmt"type Human struct{ //定义了Human类 name string gender string}func (this *Human) Eat(){ fmt.Println("Human eat.....")}func (this *Human) Walk(){ fmt.Println("Human walk ......")}type SuperHuman struct{//定义了个SuperHuman 类 H.原创 2021-04-11 18:55:08 · 240 阅读 · 0 评论 -
go的结构体
package mainimport "fmt"func main(){ var a int=1 const b int=2 fmt.Println("hello world!") fmt.Println(a) fmt.Println(b) //var c int c:=1 fmt.Println(c) fmt.Printf("c type= %T\n",c) myArray:=[]int {1,2,3,4} //这里定义个一个动态数组 printArray(myArray.原创 2021-04-11 18:34:55 · 273 阅读 · 0 评论 -
go中map的操作和定义
package mainimport "fmt"func main(){ var a int=1 const b int=2 fmt.Println("hello world!") fmt.Println(a) fmt.Println(b) //var c int c:=1 fmt.Println(c) fmt.Printf("c type= %T\n",c) myArray:=[]int {1,2,3,4} //这里定义个一个动态数组 printArray(myArray.原创 2021-04-11 16:51:36 · 161 阅读 · 0 评论 -
go语言环境变量理解
go的安装用wget -c 包的地址解压缩文件tar -C 自己想放到的位置(home) -xzf 包的名字gopath下应该定位到src、pkg、bin这级目录里。分别用来存放源代码、编译的生成中间代码、编译后生成的可执行代码。go/bin 加入到Path中。export PATH=$PATH:/home/go/bin...原创 2020-11-25 11:58:57 · 186 阅读 · 2 评论 -
Go语言实现链表的相关操作
package mainimport ( "fmt")type Object interface{}type Node struct { data Object //定义数据域 next *Node //定义地址域(指向下一个表的地址)}type List struct{ headNode *Node //头结点}//判断是否为空的单链表func (this *List) IsEmpty() bool{//创建IsEmpty方法,饭会bool类型。...原创 2020-11-17 12:32:38 · 299 阅读 · 0 评论 -
Go中结构体和接口的定义
package mainimport ( "fmt")//定义接口type woman interface {//定义一个女人的接口,定义一个爱的方法 love() makelove()}//定义一个结构体type teacher struct { name string Age int}//实现接口func (p *teacher) love() { fmt.Println(p.Age,"gan")}//type human interf.原创 2020-11-09 21:14:05 · 400 阅读 · 0 评论 -
Viper-Go一站式配置管理工具
什么是Viper#Viper是一个方便Go语言应用程序处理配置信息的库。它可以处理多种格式的配置。它支持的特性:设置默认值 从JSON、TOML、YAML、HCL和Java properties文件中读取配置数据 可以监视配置文件的变动、重新读取配置文件 从环境变量中读取配置数据 从远端配置系统中读取数据,并监视它们(比如etcd、Consul) 从命令参数中读物配置 从buffer中读取 调用函数设置配置信息为什么要使用Viper#在构建现代应用程序时,您不必担心配置文件格式;转载 2020-11-09 20:00:00 · 259 阅读 · 0 评论 -
go mod 的使用教程
go modules 是 golang 1.11 新加的特性。现在1.12 已经发布了,是时候用起来了。Modules官方定义为:模块是相关Go包的集合。modules是源代码交换和版本控制的单元。 go命令直接支持使用modules,包括记录和解析对其他模块的依赖性。modules替换旧的基于GOPATH的方法来指定在给定构建中使用哪些源文件。如何使用 Modules ?把 golang 升级到 1.11(现在1.12 已经发布了,建议使用1.12) 设置 GO111MODULEGO1转载 2020-10-29 13:35:01 · 1787 阅读 · 1 评论 -
go语言编码 需要放到src 文件夹下
golang中GOPATH的简单理解1、为什么要配置GOPATH配置GOPATH的用意是为了方便项目的部署和构建,以及可以直接使用go get 命令下载第三方的包到自己的项目的src下和相关的执行文件bin目录,和中间文件pkgsrc :项目的源代码pkg :编译后的生成文件bin :编译后的可执行文件如果你只是想单独的写个go代码可以不设置GOPATH2、结合GoLand来讲解GOPATH2.1:使用goland创建一个gose项目,(可以不配置GOPATH)* 环境.转载 2020-10-28 21:56:28 · 2656 阅读 · 0 评论 -
can‘t load package: package awesomeProject/src/main is not in GOROOT
解决方案:go mod init 项目名原创 2020-10-28 21:44:34 · 1825 阅读 · 0 评论 -
解决unrecognized import path “golang.org/x/..“类问题
背景安装Gin时,通过go get下载并安装gin软件包$ go get -u github.com/gin-gonic/gin1问题package golang.org/x/sys/unix: unrecognized import path "golang.org/x/sys/unix" (https fetch: Get https://golang.org/x/sys/unix?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)转载 2020-10-25 20:35:53 · 1622 阅读 · 1 评论