
go
文章平均质量分 85
只要你在
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Go 程序编译成 DLL 供 C# 调用。
阅读目录一、1. 实现方式与语法形式 1.1.1 Go代码 2.1.2 C# 代码 二、2. Windows 下编译依赖的环境 三、3. 操作系统 64 位与 32 的编译 四、4. c# 中操作系统 64 位与 32 的适配 五、5. 其它一些问题 1.5.1 字符串转换 2.5.2 调试 六、6. 相关参考阅读目录C# 结合 Golang 开发Go 程序编译成 DLL 供 C# 调用。回到目录C# 结合 Golang 开发...转载 2021-05-08 14:27:56 · 3208 阅读 · 1 评论 -
Golang 之 中间件
golang 中间件的实现本质:写一个func,接受handler并且返回handler把私货写在func里面,从而实现把你要写的操作执行了之后,再把原有的流程进行下去一个好的中间件有一个责任就是可插拔并且自足。例子:package mainimport ( "fmt" "github.com/devfeel/dotweb")func main() { app := dotweb.New() // App注册中间件 app.Use(NewSessio...原创 2020-12-01 16:45:52 · 1672 阅读 · 1 评论 -
Golang 之 文件硬连接 与 软连接
Golang support for native Windows hard links was added in Go 1.4. Specifically,this commitmakes the following snippet work:err := os.Link("original.txt", "link.txt")Beware that not all Windows file systems support hard links. CurrentlyNTFS and UDF...原创 2020-10-21 19:38:36 · 5906 阅读 · 0 评论 -
golang 之 flag 的使用例子
package mainimport ( "flag" "fmt")func main() { //定义一些变量用于接收命令行输入的参数值 var user string var pwd string var host string var port int //&user 就是用来接收命令行中输入的 -u 后面的参数值 // "u" 就是命令行中 -u 指定参数 // "",默认值 //"用户名.原创 2020-10-21 16:16:22 · 1310 阅读 · 0 评论 -
golang 之 cannot find package “***“ in any of
build的时候遇到:cannot find package "***" in any of:path1,path2首先根据GO111MODULE的值和是否有go.mod决定查找package的位置在哪里查找如果查找的位置没有可以:方法1:通过设置GOPATH加入package所在位置设置方法(Linux):export GOPATH=XXX或者export GOPATH=$GOPATH:XXX (这是加一个新的路径)方法2:如果是mod模式查...原创 2020-10-21 11:58:54 · 2657 阅读 · 0 评论 -
一个基本的 go httpserver
packet main负责调用main()只负责启动和关闭server用到的是:packet app是真正的服务器应用包使用了4个packet:"github.com/devfeel/dotweb""github.com/track/blogserver/pkg/config""github.com/track/blogserver/pkg/controllers""github.com/track/blogserver/pkg/rou...原创 2020-09-23 17:08:54 · 684 阅读 · 0 评论 -
Golang 之 简单的例子
1 main.go 启动apppackage mainimport ( "log" "github.com/track/blogserver/pkg/app")func main() { // 初始化app app := app.NewApp() defer app.Destory() // 启动 log.Fatal(app.Launch())}2 app 类原创 2020-09-10 22:06:31 · 736 阅读 · 0 评论 -
Golang 之 基本环境与编译
环境搭建go下载地址 https://golang.org/dl/go安装参考文档 https://go-zh.org/doc/installhttps://www.jianshu.com/p/33cf4f41cae9windows下载安装(windows msi)以后需要配置一下环境变量安装好以后以及设置好下面的环境变量以后,使用命令:go versiongo env查看是否正确安装设置成功。下面的$是shell中引用变量的,如果是windowscmd就用 %%..原创 2020-09-09 17:36:06 · 680 阅读 · 0 评论 -
Golang 之 切片
切片go语言的切片与Python的切片看起来是一样的,但是却截然不同,Python的切片操作是一种深拷贝行为,切出来就是切出来了,go语言的切片操作是一种引用行为。为什么会有切片go语言中的数组是定长序列,查询快但是不易操作,例如我们不能对他进行追加元素。所以就有了切片,相比于数组,切片是一个不定长序列,同时他是基于数组的封装,也就是说他有了数组的操作速度的同时更加的灵活。我们上面...转载 2020-03-25 20:19:59 · 485 阅读 · 0 评论 -
golang 中 strings 包的 Replace 用法介绍
函数声明为:func Replace(s, old, new string, n int) string1官方描述为:返回将s中前n个不重叠old子串都替换为new的新字符串,如果n<0会替换所有old子串。1示例代码为,每行的结果见每行上面的注释部分:func main() { // non-overlapping: "123" repeat 6 times ...转载 2020-03-22 14:32:31 · 10698 阅读 · 1 评论 -
Golang简单写文件操作的四种方法
package main import ( "bufio" //缓存IO "fmt" "io" "io/ioutil" //io 工具包 "os") func check(e error) { if e != nil { panic(e) }} /** * 判断文件是否存在 存在返回 true 不存在返回...转载 2020-03-20 14:04:30 · 916 阅读 · 0 评论 -
golang 之 合并字符串 strings.Join
stringTotal := []string{"FILEVERSION=", aData.FILEVERSION, aData.U1, aData.U2, aData.U3, aData.U4, "NEXTALLOWEDLOGIN=", aData.NEXTALLOWEDLOGIN, "CANCELLED="}stringt = strings.Join(stringTotal, "")...原创 2020-03-19 20:54:37 · 2997 阅读 · 0 评论 -
go语言-将结构体数据转换为字符串函数
通过go语言自身的gob库将区块链内部数据转换为字节数组package mainimport ( "bytes" "encoding/gob" "fmt" "log")//将结构体数据转换为字节数组func main() { b := map[int]string{ 2: "lili", } //创建一个...转载 2020-03-19 17:11:38 · 2149 阅读 · 0 评论 -
golang 指针类型* ,以及 &取变量内存地址
1.golang中,指针是一种类型,指向变量所在的内存单元(不是内存地址)。申明: 在变量名前加上星号字符,比如 *age ,指向变量age所在的内存单元2.& :获取变量在计算机内存中的地址, &age,取出变量age所在内存地址,一般地址是十六进制。3: 申明指针*age, 打印指针内存单元的值 **age.如下面 x *int , *x就是指针所对应的值。...转载 2020-03-18 17:33:46 · 7264 阅读 · 0 评论 -
golang 之 string 常用操作
1.comparea := "gopher"b := "hello world"fmt.Println(strings.Compare(a, b))fmt.Println(strings.Compare(a, a))fmt.Println(strings.Compare(b, a))fmt.Println(strings.EqualFold("GO", "go"))fmt.P...原创 2020-03-16 17:02:10 · 967 阅读 · 0 评论 -
golang 之 遍历文件夹 并读取文件 按行输出
package mainimport ( "bufio" "fmt" "io" "io/ioutil" "log" "os")//文件目录树形结构节点type dirTreeNode struct { name string child []dirTreeNode}var iCount int = 0//递归遍历文件目录func getDirTree(p...原创 2020-03-13 12:12:15 · 2073 阅读 · 0 评论 -
golang 之 Println call has possible formatting directive
比如这么写:fmt.Println("Hello, playground %d",i)那么会出现warning:Println call has possible formatting directive %d Go vet exited.fmt.Printlndoesn't do formatting things like%d. Instead, it uses the...原创 2020-03-13 11:30:02 · 12898 阅读 · 0 评论 -
Golang 之 Duck Typing
Go语言的duck typing:静态类型系统 一个类型不需要显式地声明它实现了某个接口 但仅当某个变量的类型实现了某个接口的方法,这个变量才能用在要求这个接口的地方。网上的代码:type Fetcher interface { Get(url string) string}type Saver interface { Save(content s...原创 2020-02-21 11:22:01 · 354 阅读 · 0 评论 -
golang 之 循环引用 解决 import cycle not allowed 的一个方法
网上一个例子:通过一个简单的例子来说明,首先是例子的结构,我们仅仅用到了这两个文件:ciconnector.go和rockettest.go例子结构原本设定的方法是这两个包里的函数互相调用,那么我们通过代码来看下怎么解决相应的问题。首先是rockettest.go,这里调用了ciconnector.go中的Test方法,代码如下package mainimport...原创 2020-02-20 14:12:43 · 7783 阅读 · 0 评论 -
golang 之 sync WaitGroup
代码中的注释://AWaitGroupwaitsforacollectionofgoroutinestofinish.WaitGroup等待一组goroutine完成//ThemaingoroutinecallsAddtosetthenumberof goroutinestowaitfor.主线程调用Add设置需要等待多少个gorou...原创 2020-01-03 16:11:02 · 146 阅读 · 0 评论 -
golang 之 操作数据库 GORM
ORMORM(Object Relation Mapping),对象关系映射,实际上就是对数据库的操作进行封装,对上层开发人员屏蔽数据操作的细节,开发人员看到的就是一个个对象,比如著名的Hibernate学习与查阅:http://gorm.io/zh_CN/docs/index.html库安装go get -u github.com/jinzhu/gorm数据库连...原创 2019-12-22 15:41:30 · 788 阅读 · 0 评论