-
golang的一个丑陋实现
所属栏目:[大数据] 日期:2020-12-16 热度:97
好多些天前,我在 golang实践群 里问了下面代码的问题: package mainimport "fmt"type Aer interface{ Name()string PrintName()}type A struct {}func (a *A) Name() string { return "a"}func (a *A) PrintName() { fmt.Println(a.Name())}type B struct[详细]
-
golang windows开发环境
所属栏目:[大数据] 日期:2020-12-16 热度:145
参考文档:http://golang.org/doc/install 1.下载go安装包 http://www.golangtc.com/download https://golang.org/dl/ 2.安装下载包 3.设置环境变量 增加 GOBIN:D:gosdkbin 4.运行cmd 命令行里运行go version 如果出现上面的提示就证明,go环境安装成功[详细]
-
多环境下的配置管理方案
所属栏目:[大数据] 日期:2020-12-16 热度:164
原文发布在博客 在开发中,我们需要面对各种各样的环境,开发环境、测试环境、生产环境…… 并且,各个环境的参数和配置各不相同,比如数据库连接,服务器配置等。我们怎样在不同环境中调用正确的配置? 通过配置文件 这是一种常见的思路,通过创建多个配置[详细]
-
golang实现unicode码和中文之间的转换
所属栏目:[大数据] 日期:2020-12-16 热度:87
将中文转换为unicode码,使用golang中的strconv包中的QuoteToASCII直接进行转换,将unicode码转换为中文就比较麻烦一点,先对unicode编码按u进行分割,然后使用strconv.ParseInt,将16进制数字转换Int64,在使用fmt.Sprintf将数字转换为字符,最后将其连接[详细]
-
golang实现跨平台scp批量群发文件
所属栏目:[大数据] 日期:2020-12-16 热度:91
package mainimport ("bufio""flag""fmt""io""os""path/filepath""strings""github.com/czxichen/AutoWork/tools/split""golang.org/x/crypto/ssh")var (passwd = flag.String("p","","-p passwd 指定密码.")user = flag.String("u","root","-u root 指定登[详细]
-
为什么golang的for循环后的大括号必须跟在for关键字后面
所属栏目:[大数据] 日期:2020-12-16 热度:50
如题,这是由于golang的编译器导致的。 Go语言不需要在语句或者声明的末尾添加分号,除非一行上有多条语句。 实际上,编译器会主动把特定符号后的换行符转换为分号,所以如果for的左花括号放在了下一行的开始处则会被编译器解析为: fori:=0;i10;i++;//注意[详细]
-
官博译文:可测试的 Golang 代码示例
所属栏目:[大数据] 日期:2020-12-16 热度:151
简介 Dodoc 的 示例 是一些可执行的测试代码的聚合,他们做为包的文档中的一部分提供给读者阅读和执行。读者可以点击 "Run" 按钮来测试代码。 Golang 的标准包包括很多这种代码示例(比如 strings 包) 本文将示例如何写出类似的代码示例。 示例即单元测试[详细]
-
PhalGo-Viper获取配置
所属栏目:[大数据] 日期:2020-12-16 热度:93
#PhalGo-Viper获取配置 viper项目地址: https://github.com/spf13/viper ##什么是viper viper是国外大神 spf13 编写的开源配置解决方案,viper拥有一下功能以及特性如下: 设置默认值 从JSON,toml YAML,HCl,和java属性配置文件 从环境变量env读取值 读缓冲区[详细]
-
golang中的格式化输入输出
所属栏目:[大数据] 日期:2020-12-16 热度:96
【简介】 fmt 包实现了格式化 I/O 函数,类似于 C 的 printf 和 scanf。格式“占位符”衍生自 C,但比 C 更简单。【打[详细]
-
golang http.handler接口详解
所属栏目:[大数据] 日期:2020-12-16 热度:74
golang http.handler接口详解 1.标准库接口定义 package httptype Handler interface { ServeHTTP(w ResponseWriter,r *Request)}func ListenAndServe(address string,h Handler) error ListenAndServe函数需要一个例如“localhost:8000”的服务器地址,和一[详细]
-
Golang MySQL存储过程的使用
所属栏目:[大数据] 日期:2020-12-16 热度:87
Golang MySQL存储过程的使用 使用前阅读 ref-1:问题来源 [支付系统数据库设计的关键问题 ] ref-2:[Golang 用go-sql-driver 调用MySQL存储过程时的问题排查] 编辑文件src/github.com/go-sql-driver/mysql/packets.go文件,在函数writeAuthPacket(cipher []b[详细]
-
golang的GUI库walk的使用
所属栏目:[大数据] 日期:2020-12-16 热度:66
安装 go get github.com/lxn/walk 打包 打包的时候需要将manifest文件通过rsrc工具打包 也可以直接将文件名命名为test.exe.manifest然后运行go build 文档 地址lxn/walk文档[详细]
-
Go语言:简介(一)
所属栏目:[大数据] 日期:2020-12-16 热度:90
Go语言:简介(一) 对Go语言了解前,我们先来补一些基本概念 基本概念 Program Errors trapped errors。导致程序终止执行,如除0,Java中数组越界访问 untrapped errors。 出错后继续执行,但可能出现任意行为。如C里的缓冲区溢出、Jump到错误地址 Forbidde[详细]
-
Go语言:简介(二)
所属栏目:[大数据] 日期:2020-12-16 热度:81
Go语言:简介(二) 对Go语言了解前,我们先来补一些基本概念 基本概念 并发程序 一个并发程序可以在一个处理器或者内核上使用多个线程来执行任务,但是只有同一个程序在某个时间点同时运行在多核或者多处理器上才是真正的并行。 并发程序可以是并行的,也可[详细]
-
vs code 下安装golang支持
所属栏目:[大数据] 日期:2020-12-16 热度:86
1)安装gocode go get -u -v github.com/nsf/gocode 2)安装godef go get -u -v github.com/rogpeppe/godef 3)安装golint go get -u -v github.com/golang/lint/golint 4)安装go-find-references go get -u -v github.com/lukehoban/go-find-references 5[详细]
-
Golang 中"泛型"的支持
所属栏目:[大数据] 日期:2020-12-16 热度:189
Golang不支持一般的类似java中的标记式泛型。很多人因此而十分不满,认为没有泛型增加了很多工作量。而目前由于泛型支持的复杂性,Golang的设计和实现者并没有把这个泛型支持作为紧急需要增加的特性。但是,如果真的没有泛型,就一定不行了么?答案当然是否[详细]
-
在golang中使用protobuf
所属栏目:[大数据] 日期:2020-12-16 热度:100
在golang中使用protobuf 编译protobuf 和 golang 插件 NOTE: https://github.com/google/protobuf/releases 中提供了编译好的二进制版本可以直接下载使用。 git clone git@github.com:google/protobuf.git 从autogen.sh 中找到gmock的下载地址并下载: https[详细]
-
golang实现常见的数据结构和算法,有中文注释哟
所属栏目:[大数据] 日期:2020-12-16 热度:163
Golang 是一门灵活的,类 C 的编程语言,没有那么多的原生封装,比较纯粹底层,个人觉得很适合写算法,这里有一些常见的数据结构、算法的代码实现和中文注释,作为一个有追求的程序狗,喜欢就fork了一起来完善代码和注释吧。。记得加个star鼓励鼓励哟~~~ 源[详细]
-
PhalGo-Request
所属栏目:[大数据] 日期:2020-12-16 热度:80
PhalGo-Request PhalGo-Request对Echo进行了封装,目的是为了减少 获取请求参数,转换类型,判断请求参数有效 此类重复操作带来的代码量,PhalGo-Request支持 Get,Post,Json 三类请求参数,并且使用连贯操作来获取API需要的参数减少重复代码量. Request初始化 Pha[详细]
-
Golang服务器,Unity客户端 通信
所属栏目:[大数据] 日期:2020-12-16 热度:112
2016.6.10 孙广东 http://golangtc.com/download 编辑器有: 1 、 liteIDE 2 、Sublime Text 2 3 、Google Go language IDE built using the IntelliJ Platform 这个是需要手动配置的! 下面就介绍三种 通信的例子: 一、 Unity 客戶端與 Golang 伺服器做通[详细]
-
golang 单元测试、性能测试、性能监控技术
所属栏目:[大数据] 日期:2020-12-16 热度:164
golang 单元测试、性能测试、性能监控技术 go语言提供了强大的测试工具,下面举例简单介绍一下 go test 单元测试 go test -bench=. 性能测试 go tool pprof 性能监控 go test 单元测试 例如对包helper下的util.go 进行单元测试,util.go 里主要包含两个功能[详细]
-
Golang 环境的安装
所属栏目:[大数据] 日期:2020-12-16 热度:58
环境配置 1. 下载安装包,并傻瓜式安装:https://golang.org/dl/; 2. 我的安装目录是: C:Go ; 3. PATH环境变量会自动添加 C:Gobin 路径,如果没有需要自行添加; 4. 环境变量会自动生成一个 GOROOT 变量,值是 C:Go ,如果没有需要自行添加; 5. 创建[详细]
-
Golang import、init()、main()
所属栏目:[大数据] 日期:2020-12-16 热度:107
本文很多东西都是源自网络,稍微整理了下,是否正确尚未验证,因此,有错误的话,请留言。 一、 main(),init()方法是go中默认的两个方法,两个保留的关键字。init()方法 是在任何package中都可以出现,但是建议 每个package中只包含一个init()函数比较好,[详细]
-
用Golang实现基于时间轮算法的定时器
所属栏目:[大数据] 日期:2020-12-16 热度:98
关于什么是时间轮算法,自己百度吧,这里列出我用go语言实现的时间轮算法,已经上线应用,稳定。 package timer import ( "log" "sync" "time" ) const wheel_cnt uint8 = 5 //时间轮数量5个 var element_cnt_per_wheel = [wheel_cnt] uint32 {256 , 64 , 64[详细]
-
Golang 的一些陷阱(一)
所属栏目:[大数据] 日期:2020-12-16 热度:158
Golang 的一些陷阱(一) 这里是 50 Shades of Go: Traps,Gotchas,and Common Mistakes for New Golang Devs 的一些总结, 忽略了一些原文提到编译器能检查到的陷阱, 我想这些陷阱写代码是多遇到几次,就会非常熟悉了o(∩_∩)o 。 关于空白符 "_" 原文中提到[详细]
