首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Golang
蓝色记忆
创建于2021-07-26
订阅专栏
自学go的码农
等 6 人订阅
共36篇文章
创建于2021-07-26
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Golang里阻塞死锁情况(一)
学通道channel,发现一个简单的demo: 输出结果是100,这个没有问题。但是之前在学goroutine的时候有看到过一个例子: 这个例子输出的只有:main goroutine done! 并
Golang 同步等待组(WaitGroup)
在实际使用Go协程实现并行应用时,可能会遇到这样场景:需要阻塞部分代码执行,直到其他协程成功执行之后才继续执行。 示例代码: 结果如下: 协程内的信息"hello my goroutine"并没有出现
Go空结构体传引用?
我们看个空结构体例子: 结果: 我们再看一下不是空结构体是什么结果: 结果: 我们发现空结构体地址是一样的,非空结构体地址不一样,Go语言不是只有值传递嘛,为什么第一种不是这样的情况呢? 感兴趣的伙伴
Go中的nil切片和空切片区别
Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作。每个变量会被初始化成其类型的默认值,例如: 整型和浮点型变量的默认值为0。 字符串变量的默认值为空字符串。 布尔型变量默认为fals
import"a/b" b是目录名还是包名?
使用import关键字,导入要使用的标准库包或第三方依赖包很多Golang初学者看到上面代码,都会想当然的将import后面的"c"、"fmt"当成包名,将其与c.Func1()和 fmt.Print
Go基于指针对象的方法
而他们的调用方法没什么差异。都可以使用p.square(),对于指针对象方法,编译器会自动把它变成((&p).square(),直接在代码中这样写也可以)。
go结构体组合函数
结构体定义上面我们说过Go的指针和C的不同,结构体也是一样的。Go是一门删繁就简的语言,一切令人困惑的特性都必须去掉。简单来讲,Go提供的结构体就是把使用各种数据类型定义的不同变量组合起来的高级数据类
Go的结构体初始化与指针
Go结构体初始化方式一:通过var声明结构体假如现在有个这样的结构体:通过var初始化:方式二:使用new使用new函数给一个新的结构体变量分配内存,它返回指向已分配内存的指针:vart*T=new(
package XXX is not in GOROOT
第一次遇到这种报错,记录一下,test项目结构:main.go:hello.go:代码很简单,就是main里面调用了hello的方法运行main.go之后发现报错:发现包导入是正常的啊,后来网上搜索了
go get下载得包不在$GOPATH$/src目录下
GO111MODULE=off,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。 GO111MODULE=on,go命令行会使用modules,而一点也不会去GOPATH目录下查找。 GO111MODULE…
通过代理下载Beego框架
但是过了好久一点反应都没有,超时等等的问题一个个来。最后通过设置代理方法解决: 之后通过go get命令下载就会很快。
Goland导入beego框架源码报红
最近在学习beego框架,使用Goland编辑器,发现框架的源码包导入了,可是都是报红色,Ctrl+左键也不能点进去看源码。如图:
Go语言之数组与切片
如果Go中的数组作为函数的参数,那么实际传递的参数是一份数组的拷贝,而不是数组的指针。这个和C要区分开。因此,在Go中如果将数组作为函数的参数传递的话,那效率就肯定没有传递指针高了。 结束位置:对应目标切片的结束索引,终止索引标识的项不包括在切片内。 其中 a 和 b 均是预分…
Go语言之匿名变量"_"
匿名变量的特点是一个下画线“_”,“_”本身就是一个特殊的标识符,被称为空白标识符。它可以像其他标识符那样用于变量的声明或赋值(任何类型都可以赋值给它),但任何赋给这个标识符的值都将被抛弃,因此这些值不能在后续的代码中使用,也不可以使用这个标识符作为变量对其它变量进行赋值或运算…
Go通过指针进行数据交换
结果如下:从倒数第三行知道,值交换成功了下面我把代码改一下把*b,*a=*a,*b 改为结果如下:发现x与y的值没有成功交换为什么两则有差异,我们知道a,b分别是x,y的地址(也就是&x,&y的值)内
Go语言之go build go install
go build:用于测试编译包,在项目目录下生成可执行文件(有main包)。 go install:主要用来生成库和工具。一是编译包文件(无main包),将编译后的包文件放到 pkg 目录下($GOPATH/pkg)。二是编译生成可执行文件(有main包),将可执行文件放到 …