GO语言
super光头
我变秃了,也变强了
展开
-
go get安装时报错:unrecognized import path “golang.org/x/crypto/sha3“: https fetch: Get……
问题安装包时,通过go get下载并安装gin软件包报错,提示unrecognized import path “golang.org/x/crypto/sha3”: https fetch: Get……解决出现这种问题是网速问题,网上有很多解决方法,其中比较常见的就是在 github 上建立了一个镜像库,下载github上的镜像库放入GOPATH下即可mkdir -p $GOPATH/src/golang.org/x //-p层级递归创建cd $GOPATH/src/gola原创 2021-01-22 17:14:51 · 3264 阅读 · 0 评论 -
【go语言】defer、return和匿名函数的坑,但愿面试别问这些
在go语言中,defer和return的执行顺序其实有很多的学问,本人在学习过程中,也是被defer和return的组合拳打得神志恍惚,想在网上找一找大神讲解,但是找了半天没找到太全面的,最后在查阅了资料,并敲了几个代码后好不容易捋顺了思路,特意来写了这篇文章,希望能对同样迷茫的初学者带来一些帮助。关于defer的作用,就不多做赘述了,下面将直接通过四个例子来说明defer和return的运行机制。例子1:func demo01() int { n := 10 defer func() {原创 2020-11-20 21:08:09 · 622 阅读 · 4 评论 -
【go语言】递归调用和非递归调用实现二分查找
在编程中,二分查找可以说是一个非常经典的算法。然而二分查找也并不是万能的,二分查找只有在以下这三种情况下比较实用:数组有序分布(必备条件)。数组不频繁增删。数组元素值较多(元素值少,顺序查找更快捷方便)。下面我会列出两种实现二分查找的方法。for循环版本// 二分查找for循环版本func binaryFind01(findVal int, arr *[8]int) { leftIndex := 0 rightIndex := len(arr) - 1 for { if le原创 2020-07-01 11:37:22 · 415 阅读 · 0 评论 -
【go语言】copy函数针对切片操作,底层内存空间的变化
在go语言中,copy函数针对切片进行复制操作,在底层中,内存空间可以互相重叠,也可以相互独立。首先讲一下数据空间相互重叠的情况: 1 var arr = [5]int {1,2,3,4,5} 2 var slice1 []int = arr[:4] // 1 2 3 4 3 var slice2 []int = arr[1:] // 2 3 4 5 4 copy(slice1, slice2) // 将slice2复制到slice1中 5 fmt.Println(arr) // 2原创 2020-06-30 13:01:11 · 747 阅读 · 0 评论 -
【Go语言】闭包通俗易懂的代码案例
什么是闭包?百度百科是这么形容的:闭包就是能够读取其他函数内部变量的函数。(能看懂的大概是怪物)看完概念大部分人应该都处于蒙圈的状态,所以我决定用一段代码来解释下闭包。// 一个累加器(闭包)func AddUpper() func (int) int { num := 10 return func (x int) int{ //这是一个匿名函数 num = num + x return num }}func main() { f := AddUpper() // 这个括号原创 2020-06-21 19:32:24 · 220 阅读 · 0 评论 -
【go语言】linux系统下sudo go install编译时报错,$GOPATH出现异常
在linux系统中编译go语言程序的时候出现一个很离奇的错误。1.环境变量GOPATH设置正常。2.go env显示$GOPATH正常。3.sudo go install却报错!can't load package: package hello: cannot find package "hello" in any of: /usr/local/go/src/hello (from $GOROOT) /root/go/src/hello (from $GOPATH)在自己琢磨无果后,决原创 2020-06-09 09:23:36 · 1028 阅读 · 0 评论