Golang
文章平均质量分 58
加拉萨假期
这个作者很懒,什么都没留下…
展开
-
[Golang] json.Marshal问题总结
json.Marshal在处理匿名字段的时候有可能遭遇的问题。原创 2022-06-25 14:31:14 · 3381 阅读 · 2 评论 -
[Golang][Gomod]unknown revision问题终极解决方案
网上百度搜索的结果令人失望,全都是复制粘贴转载的无用内容.只需要:1.删除 ($GOPATH)/pkg/mod/cache.2.重新执行go mod why.原创 2022-05-27 11:11:50 · 1809 阅读 · 2 评论 -
[CGO]CGO中不同库的存在同名C函数的相关探索
现象一个叫MA的项目突然想要更换相机设备来和现有设备做个对比验证,我寻思以前已经无损实现过了,没有问题。不过之前用的是以前写的cgo库,正好前段时间完成了通用的相机封装库,于是决定拿来试试水。按照库的使用指示,我快速地二次封装了满足MA相关接口的新CameraType,然后规范地编译了动态链接库和Scanner程序,满心欢喜地部署到了机器上验证,然后发现发现拍出来的图像是一张纯黑色的图像,每个像素值都为0。排查首先想到的是重启。在经历了重启程序、重启设备、重启相机几个操作后,仍然没有解决问题。.原创 2021-12-30 16:46:43 · 739 阅读 · 0 评论 -
[Golang]再谈slice切片与append
在浏览studygolang的一篇帖子时,发现楼主提出了一个slice与append的问题,我一寻思,这玩意儿我之前研究过一会儿,肯定能解答,然后还没敲5个字就发现我也不明白了,然后再次去研究了一遍,终于觉得自己理解了,现在记录一下。 首先放出原帖子的代码:package mainimport "fmt"func main() { arr := make([]int, 3, 4) //创建一个长度为 ...原创 2021-11-17 11:29:46 · 1427 阅读 · 0 评论 -
gomod why git -c core.autocrlf ... exit status 128: fatal: unable to read tree
git -c core.autocrlf=input -c core.eol=lf archive --format=zip --prefix=prefix/ in /home/wzj/dev/gopath/pkg/mod/cache/vcs/67a333d3944bf522e00e60b2f66354244d54f693ce200b03cc67a5b819f82bb8: exit status 128: fatal: unable to read tree到pkg里面把mod/cache/do...原创 2021-05-18 16:46:52 · 1984 阅读 · 0 评论 -
GoYacc的简单使用
前言 YACC(Yet Another Compiler Compiler),是一个经典的生成语法分析器的工具。yacc生成的编译器主要是用C语言写成的语法解析器(Parser),需要与词法解析器Lex一起使用,再把两部份产生出来的C程序一并编译------《百度百科》 GoYACC是Golang版本的YACC,听说使用上差不多,但我没用过yacc,没法比较具体差别。我将按照自己的理解对GoYacc的使用进行介绍。 简而言之,通过yacc这个工具,我们可...原创 2020-10-26 16:02:58 · 3427 阅读 · 0 评论 -
2D和3D空间中的A*寻路算法的实现(A Star path finding algorithm)
说明 作为经典的寻路算法,A*在网上已经有太多的介绍和教程了。尽管确实存在不少直接转载或者复制粘贴的博文,但还是存在具有指导性意义的文章的,我在这里就不在赘述,也不贴出我看了哪些文章了。希望大家稍微花点时间自行查阅(中外结合效果更加),每个人的理解和表达各有千秋,汲取不同人的文章更有助于我们能从多方面去认知问题。尽管如此,我还是给出一个自认为说的简单明了的视频地址,来源YTB,被网友转载于B站,无字幕,但是影响不大,传送们:A *算法 别担心,本文最后会直接贴出基于上述视频指导,用Gol...原创 2020-10-17 10:06:22 · 4549 阅读 · 1 评论 -
[Golang]使用Golang从零开始设计实现一个自定义脚本指令语言
前言 使用“语言”这么一个敏感的描述余自知不妥,但这像极了余当初对于这个需求的理解和印象,君莫见怪。其实,本文描述内容的最终形态其实是实现了一个简单的解释器:解释器(英语:Interpreter),又译为直译器,是一种电脑程序,能够把高级编程语言一行一行直接转译运行。解释器不会一次把整个程序转译出来,只像一位“中间人”,每次运行程序时都要先转成另一种语言再作运行,因此解释器的程序运行速度比较缓慢。它每转译一行程序叙述就立刻运行,然后再转译下一行,再运行,如此不停地进行下去.------..原创 2020-09-25 18:01:42 · 1916 阅读 · 0 评论 -
Golang 判断一个Type类型是否实现了某个接口
前言 需求描述:判断任意一个func函数的第一个参数是否是一个context.Context。Startpackage mainimport ( "context" "log" "reflect")//Define a function that requires a context.Context as its first parameter for testingfunc FunctionAny(ctx context.Context, param ...inter..原创 2020-06-18 10:41:18 · 2382 阅读 · 0 评论 -
go mod 注意事项
1、问题引入:我想使自己的一个project go mod化,随即想像以前一样go mod init, go mod why, 修复不合法的go mod import, go mod why一气呵成。但是why的过程中提示引入的一个包里面找不到某个定义,原来go mod 个我整了的是最新版的包,而我的魔改包才有改定义。简单给魔改包git tag一下,go mod 手动指定就好了。第一次我直接改r...原创 2020-04-27 14:10:39 · 344 阅读 · 0 评论 -
使用Golang对图像进行透明度处理
Befor(Opacity:None):After(Opacity:50%):直接上代码:1、读取图像://至于为啥用RGBA64,因为任性//输入图像文件路径,返回 *image.RGBA64 结果func OpenFileIntoImage(fileName string) (*image.RGBA64, error){ f, err := os.Open(...原创 2020-02-13 13:06:38 · 3850 阅读 · 0 评论 -
Golang按行读取文件,但是有些行没读出来,遇到了什么坑?
先记录下来,解决了再补充。-------------------------------------------------------------------------------经过观察结果,我发现了内容是隔行读取了。。。咳~合~忒!我自己的问题!按照行来读取文件时,比如bufio.NewReader(*File).ReadLine() 或者 ReadString('\n'),...原创 2019-12-18 13:39:41 · 761 阅读 · 0 评论 -
Golang CGO
CGO用于在GO代码中使用C语言编程,或者说是调用C代码封装的链接库文件中编写的函数,有些想用的东西GOLANG没有官方源码,但是C语言有时,就可以用CGO调用它,比如喜闻乐见的OpenCV。一、错误之坑:1、CGO报错 。常识:import "C"必须紧跟在C注释后一行,没有空行。2、CGO调用CGO出现混淆,感觉函数调错了:多个链接库文件(*.so)中,不能封装有相同的函数名,比如...原创 2019-03-05 09:16:27 · 463 阅读 · 0 评论 -
Golang 记录
1 os.Mkdir 与os.MkdirAll: 想要创建一个目录:D:\\App\\BACKUPS\\,D:\\下面啥都没有调用os.Mkdir()报错了,Mkdir:The system cannot find the path specified./ No such file or directory.原因:MkDir()只能创建一层目录,因为App这目录不存在,所以...原创 2019-04-16 12:51:40 · 188 阅读 · 0 评论 -
Golang文件操作错误:The filename, directory name, or volume label syntax is incorrect
现象的产生:1、我想打开一个磁盘上的AAAAAAA文件:2、操作对着属性进行复制路径:3、实现:看起路径是没得问题的。4、Run:f@ck.查了一下,原来肉眼所见,并非真实!路径其实有问题。在记事本中粘贴复制的路径:但在保存时:所以基本可以断定是编码的问题了。我们选择Unicode去看看。再打开,看起来还是一样:这时...原创 2019-08-05 18:20:44 · 11094 阅读 · 1 评论 -
【Goland/Golang坑】Goland 在GoPath里面的package可以import但就是无法调用,提示unresolved
遇到这个问题当时我也是懵了,打开其他的工程都可以正常地引用使用这个包,唯独有一个工程不行。。。再三确认import写对了,package也存在,GoPath也设置了。找了大半天,无果。终于发现了是Goland的一个设置有问题:这个Index entire GOPATH要勾上。如果不勾上,只有本工程和vendor包会被索引查找,这是为了提升索引性能,但是会导致我这种问题:无法引用GOPATH...原创 2019-08-06 15:03:57 · 7995 阅读 · 1 评论 -
将Golang 数组 slice 转为逗号分隔的string字符串
如将var a = []int{1,2,3,4}变为"[1,2,3,4]"。最硬核的办法就是建一个slice的临时中转:[]string 类型, 然后用strings.Join():var src = []int{1,2,3,4}var temp = make([]string, len(src))for k, v := range src { temp[k] = fmt.S...原创 2019-08-13 10:58:21 · 42910 阅读 · 0 评论 -
【Golang】程序跑不起来,main的第一行log打印都没打印出来:
在修改一个远古项目的时候,它用的Beego,可是我想run一下的时候,无论是bee run 还是go build,还是删掉七七八八swagger相关,重新下载生成,都出现程序跑不起来的情况。表现为:经典的2019/09/18 14:57:21.534 [I] [asm_amd64.s:1337] http server Running on http://:8080没出现在log中。。...原创 2019-09-18 16:14:43 · 1546 阅读 · 2 评论 -
Golang beego api 简单使用以及一些容易碰到的问题
初步使用beego框架,参照了官网文档教程,将结合自己的实际使用及个人理解,对beego api自动化文档做个笔记。官方链接 : https://beego.me/docs/intro/一、安装beego:命令行输入,网络强悍应该可以get下来,我是在$GOPATH/src下操作的。go get github.com/astaxie/beego二、牛皮的bee工具的安装:g...原创 2018-07-24 21:36:44 · 9777 阅读 · 3 评论