Go语言中文网 为您找到相关结果 86

PyCharm Golang开发环境搭建(最方便快捷的GO语言开发环境)

IntelliJ太牛了。为了配置Go语言开发环境,折腾了半天,下IDE(Sublime Text,IntelliJ Idea),然后装Go插件。装Go插件还要下载插件项目源码,编译等等,Sublime还要输入python脚本,粘进去通不过,头疼。 突然悟出一个道理,如果你觉得当前手上的事情变得非常痛苦的时候,不是事情本身的问题,是你没找到好的解决方法的问题,或者说,“不是事情太痛苦,是你太笨了”。 在不停的装插件,尝试过程中,突然发现,PyCharm跟Idea一样,也是支持Go插件的,立马悟到,PyCharm可以开发GO,要Idea干毛。再一想,PyCharm和Idea都是IntelliJ的产品,支持应该不会差,于是果断放弃Idea。 在PyCharm(Idea一样)装GO插件,相当容易。 ...阅读全文

博文 2016-05-11 11:00:02 NerdWill

Go语言里边的字符串和数组

/*640*60,创建于2013-5-24*/ var cpro_id = "u1290382"; go语言里边的字符串处理和PHP还有java 的处理是不一样的,首先申明字符串和修改字符串 [php] package main import "fmt" var name string //申明一个字符串 var emptyname string = "" //申明一个空字符串 func main() { //申明多个字符串并且赋值 a, b, v := "hello", "word", "widuu" fmt.Println(a, b, v) //转换字符串的内容,先转换a的类型为[]byte c := []byte(a) //赋值 c[0] = ‘n’ //在转换成字符串类型,其实我们发...阅读全文

golang实现任意日期格式转换标准日期格式

*Fork了别人一个Repository 日期解析* 这个package的功能很简单就是将一个未知的日期格式转化为标准的日期格式,日常生活中可以作为日期的数据清洗,接下来将开发以此Repository为基础,支持可配置的自动识别日期格式的功能,Repository正在开发中,有兴趣的小伙伴可以随时提PR,共同完善,共同学习。 Repository地址: noaway/dateparse ( http://link.zhihu.com/?target=https%3A//github.com/noaway/dateparse ) 具体的使用方式如下: package main import ( "flag" "fmt" "time" "github.com/apcera/termtables"...阅读全文

博文 2017-11-23 09:56:16 诺唯

安装google Tesseract,准备用golang写个图像识别的项目

环境: OS X EI Capitian Version 10.11.6 安装步骤参照: https://github.com/GeertJohan/go.tesseract/tree/v1 $ brew install leptonica $ brew install tesseract $ export CGO_LDFLAGS="-L/usr/local/Cellar/leptonica/1.72/lib -L/usr/local/Cellar/tesseract/3.04.01_1/lib" $ export CGO_CFLAGS="-I/usr/local/Cellar/leptonica/1.72/include -I/usr/local/Cellar/tesseract/3.04...阅读全文

博文 2016-09-12 12:00:42 有个地方叫作遥远

自动化部署工具Syncd

syncd是一款开源的代码部署工具,它具有简单、高效、易用等特点,可以提高团队的工作效率. **目前只支持类Linux系统.** ## 目录 - [特性](#特性) - [原理](#原理) - [安装](#安装) - [使用](#使用) - [帮助](#帮助) - [授权](#授权) ## 特性 - Go语言开发,编译简单、运行高效 - Web界面访问,交互友好 - 灵活的角色权限配置 - 支持Git仓库 - 分支、tag上线 - 部署hook支持 - 完善的上线工作流 - 邮件通知机制 ## 原理 阅读全文

运维工具SmartPing

# SmartPing # SmartPing为一个各机器(点)间间互PING检测工具,支持互PING,单向PING,绘制拓扑及报警功能。 ## 功能 ## - 单向PING,反向Ping绘图 - 互PING间机器的状态拓扑 - 自定义延迟、丢包阈值报警 ## 设计思路 ## 本系统设计为无中心化原则,所有的数据均存储自身点中,默认每个Ping目标点的数据循环保留1个月时间,由自身点的数据绘制 **出PING包** 的状态,由各其他点的数据绘制 **进PING包** 的状态,从任意一点查询数据均会通过Ajax请求关联点的API接口获取其他点数据组装全部数据,绘制 出Ping曲线图,进Ping曲线图,网络互Ping拓扑图。并可以设置阈值进行报警,方便对网络质量...阅读全文

安装google Tesseract,准备用golang写个图像识别的项目

环境: OS X EI Capitian Version 10.11.6 安装步骤参照: https://github.com/GeertJohan/go.tesseract/tree/v1 $ brew install leptonica $ brew install tesseract $ export CGO_LDFLAGS="-L/usr/local/Cellar/leptonica/1.72/lib -L/usr/local/Cellar/tesseract/3.04.01_1/lib" $ export CGO_CFLAGS="-I/usr/local/Cellar/leptonica/1.72/include -I/usr/local/Cellar/tesseract/3.04...阅读全文

博文 2016-08-29 12:00:07 有个地方叫作遥远

免费自学Cocos2d-js2016原创视频教程(17集)

代码下载地址:http://www.h5edu.cn/index.php?c=index&a=step&lessonid=53 视频下载地址:http://pan.baidu.com/s/1eQQo8AA 密码: 请加qq群:461039382 第1章 添加图片和文字 这一章主要讲解Cocos2d-js添加图片精灵和文字,设置它们的坐标,并且改变字体的颜色 第2章 定时调度器和动作行为 这一章主要讲解动作: 普通动作:Move, Rotate, Scale, Fade, Tint, etc. 组合动作:Sequence, Spawn, Repeat, Reverse 变速动作:Exp, Sin, Cubic, Elastic, etc. 其他动作:CallFunc...阅读全文

fswatch 根据文件变化触发相应指令,(参考了autogo, bee)的相关资料

[https://github.com/shxsun/fswatch](https://github.com/shxsun/fswatch) autogo我不太习惯,因为它还需要配置文件,我是希望什么都不用我管才好。后台开始用bee。 其实这个东西跟astaxie写的bee很像,可以自动检测代码的变化,然后运行`go test`。 为什么要再写一个呢? 主要原因还是bee没法自定义运行命令。 比如我想让代码变化是运行 go test -v。就只能改代码了。 我想做的呢,就是一个通用的东西。不管是go还是c++, 甚至php都能搞定。 因为系统的事件还是蛮多的。 需要进行事件的过滤,于是我就想到了.gitignore文件(这个git用的,所以学golang的对它应该不陌生...阅读全文

ST的自动完成功能怎么让它不自动加上“CR”符号

![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqkAAAGFCAIAAABRwv1AAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4nOydeUBVZf7/P88BNS1XVtNJQFEBQ0kNpxlXLNwSW5iwmtKyYqxJzGkzs82casbEmm+hbdq3Rvo6FTAWOomKtmjpD2ViERVwR5BELHO75/n9cfZ7z7ncCxcucN+vbnjPc57lc57nOc/72c65bGfFL0REjBEREVO+MiYI8hemukt+ZLjjd27vyHSn9acMh3YnSDbE3pmbfjXB5CyXonTZv/tw...阅读全文

代码质量检测工具GoReporter

Golang 开发工具,提供代码质量检测/Golang 代码静态检测器/Golang 项目单元测试,根据自定义模版自动生成 Golang 代码质量检测报告。 ![image](https://static.oschina.net/uploads/space/2017/0406/113414_e0Od_2903254.png) Summary ![image](https://static.oschina.net/uploads/space/2017/0406/113431_ipJw_2903254.jpeg) UnitTest ![image](https://static.oschina.net/uploads/space/2017/0406/113446_U2OK_2903...阅读全文

Golang 数组

声明&初始化 数组 数据是一个固定长度的数据类型,用户存储一段具有<<相同类型>>的元素的<<连续快>>。数据存储的类型可以使内置类型。整形 字符串 或某种机构类型 占用内存方式为<<连续分配>>。由于内存连续,CPU能把正在使用的数据缓存更久的时间。并且因为内存连续所以索引很容易计算,可以快速迭代数组中所有的元素。 初始化&声明 声明数组: 指定内部存储的数据类型、需要存储的数据数量(长度)、 //声明一个包含5个整形元素的数组 var array [5] int 数组规则:一旦声明之后元素类型&数组长度不能更改 声明完成之后进行初始化数组会把数组中的元素全部初始化成元素类型所对应的零值。整形对应的零值为0。 数组字面量 数组字面量是一种快速创建并初始化数组的方式。数组字面量允许声明数组里...阅读全文

博文 2018-06-29 16:34:47 我是不是小明

liteIDE写Golang程序引用外面的package不能自动补全的问题

在使用liteIDE开发Golang程序时,会出现Golang自带的package可以自动补全,而引用外面的package则不能自动补全。今天终于在stackoverflow(http://stackoverflow.com/questions/19876902/liteide-no-autocomplete)找到了答案:在使用外面的package时,应该把package安装成功(使用go get, go install命令),才可以使用自动补全...阅读全文

博文 2015-06-17 20:02:33 xiaonanAndroid

Android 上的代码阅读器 CoderBrowserHD 修改支持 go 语言代码

我在Android上的代码阅读器用的是 https://github.com/zerob13/CoderBrowserHD 改造的版本,改造后的版本我放在 https://github.com/ghj1976/CoderBrowserHD 了。 主要的改造如下: 升级项目成 Android Studio 的项目 git 下载 https://github.com/zerob13/CoderBrowserHD 后的项目改造步骤如下: 1、Clone 到自己本地 2、Import Project (改成 Android Gradle projects ) 选择我们下载到本地的目录导入即可。 整个过程的选择,完全选择默认项。 修改导入过程中的error SDK 版本问题 第一个是 SDK 的 版本...阅读全文

博文 2016-03-01 03:00:01 ghj1976

【GO】串口简单通讯

背景 最近再学习 go 语言,在某宝用5块钱买了个教学视频 8 日速成,目前看到了第3天的视频,进度龟速。。。。。这周末加油! 然后,学习 go 语言的目的是想用 go 做自动测试,我是只学过 C ,感觉 go 语言和 C 比较相近,学起来比较简单、迅速。 串口通讯代码 golang 串口源码:https://github.com/huin/goserial 对于 go 的串口通讯要求如下: Data Bits:8 Stop Bits:1 Parity:None Hardware Flow Control:None Software Flow Control:None 代码块分解解析 设置串口号和波特率 c := &serial.Config{Name: "COM5", Baud: 1152...阅读全文

博文 2019-05-29 14:44:58 XiuHua_Wu

Go自学团队:Day 1 : fmt打印方法及数据类型的练习

``` package main //学习参考:http://www.runoob.com/go/go-data-types.html import "fmt" func main() { //打印会换行 fmt.Println("你好"); fmt.Println("你好2"); //fmt.Println("行注释"); /** 这里是段落注释 0000 */ //打印不换行 fmt.Print("testme"); fmt.Print("testme"); //语法的数据类型 var age int; fmt.Println(age) var istrue = true//写法1 va...阅读全文

Golang通过反射检测变量类型

What you are wasting today is tomorrow for those who died yesterday; what you hate now is the future you can not go back. 你所浪费的今天是昨天死去的人奢望的明天; 你所厌恶的现在是未来的你回不去的曾经。 简单的记录一下吧。 package main import ( "reflect" "fmt" "strings" ) type Foo struct { A int `tag1:"Tag1" tag2:"Second Tag"` B string } func main(){ f := Foo{A: 10, B: "Salutations"} fPtr := &f m ...阅读全文

博文 2018-01-23 10:33:06 90design

GolangGoreporte——代码质量检测

我们知道一个项目中除设计之外,代码质量是一个项目成功与健壮的基础,再好的设计但是实现代码混乱,风格混杂,明显性错误百出,我们仍然会认为这是一个失败的项目;相反,即使一个项目在架构和设计上无新奇之处,但代码实现质量高,例如风格统一,测试完善,接口明确,无冗余代码,实现中无明显错误或不安全用法,圈复杂度低等等,无论是对于项目的实现上还是后期代码维护都是有益的。所以,一个项目的代码质量是一个项目成功的关键基础。 C/C++,Java等等语言都有自己的代码质量检测工具,例如Cppcheck,PC-Lint,Splint等等,Golang语言出现时间不实很长,这方面的生态还不是非常完善。goreporter,一个golang代码检测的工具,它合并了多种检测工具,相当于很多工具的集合,使用起来非常容易...阅读全文

App开发者:一个你从未体验过的自动化测试平台

“测试”在移动互联网界应该是耳熟能详的词汇了,目前几乎所有开发者在进行研发的过程中都要进行应用的测试,常用的使用模式大致有三类: 完全黑盒、基于脚本、基于录制回放 但使用过的朋友应该知道这三类模式都存在很难解决的缺陷,那么同作为开发的笔者,也是尝试、更换了无数的测试平台与工具,最终对自己的工作效率或者效果提升都不明显,而接下来,笔者将向大家推荐一款最近正在试用的一个自动化测试平台,目前来说效果还不错,经过笔者的研究和梳理总结,整理出了这个平台的构架与理念,希望各位做开发、测试的朋友能够有机会来尝试一番。 逻辑架构 ![图片 1.png](http://studygolang.qiniudn.com/170214/79ee116e9126cdad8e5a8ebe00...阅读全文

Go 语言代码质量检测工具Revive

revive 是一个 Go 语言的代码质量检测工具(Linter for Go),具有快速、可配置、可扩展、灵活和美观这些特性,可作为 golint 的替代方案。 revive 为自定义规则的开发提供了一个框架,你也可以定义一个严格的预设来增强开发和代码审查流程。 revive 与 golint 的不同之处 可以使用配置文件来启用或禁用规则 使用 TOML 文件配置 linting 规则 运行相同的规则,比 golint 快两倍 与 golint 相比,revive 提供了更多规则 每个人都可以使用自定义规则或格式化器轻松对它进行扩展 …… ![image](https://oscimg.oschina.net/oscnet/a61b1a5d0f6b58ba0abd2686...阅读全文

开源项目 2018-06-14 18:30:00 网友

Go 语言简介

1. 简介 Go语言是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程,同时具有垃圾回收机制。 2. 安装 http://golang.org/doc/install 这里有详细的安装教程。go编辑器可以选择Eclipse和goclipse搭配,插件地址。 http://goclipse.googlecode.com/svn/trunk/goclipse-update-site/ 如果安装成功,可以在Window–>Preferences里面左边的树形菜单里看到Go,点Go,然后在右边设置GOROOT的路径为go的安装目录(如c:\go)即可,下面的几个Go tool的路径会...阅读全文

博文 2014-11-04 13:00:01 lichao_ustc

Go 测试工具 GoConvey

GoConvey 是个相当不错的 Go 测试工具,支持 go test。可直接在终端窗口和浏览器上使用。 特点: * 直接与 go test 集成* 巨大的回归测试套件 * 可读性强的色彩控制台输出 * 完全自动化的 Web UI * 测试代码生成器 * 桌面提醒(可选) * 自动在终端中运行自动测试脚本 * 可立即在 [Sublime Text](http://www.sublimetext.com) 中打开测试问题对应的代码行 ([some assembly required](https://github.com/asuth/subl-handler)) ![image](http://static.oschina.net/uploads/spac...阅读全文

go语言学习---map

go的map和java的map在操作上区别不大。 不过有些内容还是不一样的。 1. 检测某个键是否存在: elem, ok = m[key] 如果 key 在 m 中,`ok` 为 true 。否则, ok 为 `false`,并且 elem 是 map 的元素类型的零值。 2. 如果某个键不存在,直接用这个键读value的话,返回的是 map 的元素类型的零值 例如: m := make(map[string]int) m["Answer"] = 42 fmt.Println("The value:", m["Answer"]) delete(m, "Answer") fmt.Println("The value:", m["Answer"]) 运行结果为: The value: 42 T...阅读全文

博文 2015-06-17 23:07:44 jwkfreedom

优秀跨平台Redis可视化客户端工—RedisViewer

自荐RedisViewer一个有情怀的跨平台Redis可视化客户端工具 感谢头条小哥的精彩推广 — 最美分享Coder 介绍 在以往的文章中曾经介绍过几款Redis的可视化工具,在笔者的印象中Redis至今没有一款非常专业的可视化管理客户端,就算之前介绍过的几款也是差强人意,有些时候满足不了我们的需求,而今天本文要介绍的是另一款值得推荐的Redis可视化客户端,以下通过截图的方式来展示这款软件! 已支持Windows、MacOS、Linux,方便不同平台开发者们使用! 本软件出自@可乐onefineday之手。 技术栈 UI: electron、vue、elenentui 服务: springboot 、webflux 、mybatis 、mapper PS: 现阶段服务JVM使用openj...阅读全文

博文 2019-10-22 23:33:12 aside section._1OhGeD

Go 应用开发的管理工具GOP

GOP 是一个专为在 GOPATH 之外的 Go 应用开发的管理工具。当然他肯定不支持 `Go Get `了。GOP 会将所有的依赖项拷贝到 `src/vendor` 目录下,应用本身的源代码也在 `src` 下。 一个通常的使用过程如下: GOPATH 兼容,工程本身作为 GOPATH 多编译目标支持 将您的工程放到全局 GOPATH 之外 情确保您能正常运行 Go 命令,GOP 将依赖 Go 命令编译和测试 工程目录结构示例如下: 可以看出主文件默认放在 src/main 下可以自动识别,当然也可以在 Gop.yml 中指定 工程配置文件,必须存在并且放在和 src 平级。如果你没有定义任何目标,默认的目标将是 src/main, 目标名是工程名。 初始化 Gop 工程...阅读全文

Golang 命令行自动设置网卡名称为LAN or WAN

package main import ( "fmt" "net" "os" "os/exec" "strings" ) func main() { if len(os.Args) != 2 { fmt.Printf("Usage:\n%s 110.10.25.0/24\n", os.Args[0]) return } _, ipnet, err := net.ParseCIDR(os.Args[1]) if err != nil { fmt.Printf("ParseIP Error:\n%s\n", err) return } intfs, err := net.Interfaces() if err != nil { fmt.Printf("Get Addr error:\n%s\n"...阅读全文

博文 2016-10-05 10:00:03 fyxichen

InkPaper 最佳实践——使用 Travis CI 自动部署 Ink 博客到 GitHub pages

简介 纸小墨(InkPaper)是一个GO语言编写的开源静态博客构建工具,可以快速搭建博客网站。它无依赖跨平台,配置简单构建快速,注重简洁易用与更优雅的排版。使用 Travis CI 可以解决 自动构建和自动部署的问题, 这样能让我们更加专注书写。 什么是 Travis CI? Travis CI 是为 GitHub 上的项目提供构建和测试的分布式持续构建服务。这意味着你的静态博客最好是托管在GitHub Pages 上的。当 GitHub Pages 仓库激活 Travis CI 服务,当你的博客有新的修改提交到 GitHub 的时候,GitHub 会通知 Travis CI。它也可以被配置为只对特定的分支生效,或分支的名称匹配特定的模式。Travis CI 将会检查相关分支并执行之前在 ...阅读全文

网络质量监控神器SmartPingV0.3.0发布

SmartPingSmartPing为一个各机器(点)间间互PING检测工具,支持互PING,单向PING,绘制拓扑及报警功能。功能单向PING,反向Ping绘图互PING间机器的状态拓扑自定义延迟、丢包阈值报警设计思路本系统设计为无中心化原则,所有的数据均存储自身点中,默认每个Ping目标点的数据循环保留1个月时间,由自身点的数据绘制 出PING包 的状态,由各其他点的数据绘制 进PING包 的状态,从任意一点查询数据均会通过Ajax请求关联点的API接口获取其他点数据组装全部数据,绘制 出Ping曲线图,进Ping曲线图,网络互Ping拓扑图。并可以设置阈值进行报警,方便对网络质量的监控。程序架构数据结构项目截图​其他资料官网: http://smartping.org文档: https...阅读全文

博文 2017-09-16 15:36:46 toryzen

科研狗电脑软件好用分享

PC端好用软件分享笔者购入电脑是华为锐龙版matebook 13,新机没多久,因此现在电脑上东西不是太多,暂且是满足科研狗的日常使用了。自己对电脑这些也不太熟悉,单纯为了分享自己发现好用的东西,因此本着够用且好用的原则给大家分享。一. 浏览器浏览器用的是新版Edge浏览器。对于不是太讲究的人来说,这个和chrome没有太大的区别的。只要插件可以正常使用就行,下面是我目前所有插件的截图,之后再一一介绍: 1. iGG谷歌访问助手这个简直就是科研狗的福音!来看看官方介绍:永久免费提供谷歌搜索,gmail,Chrome Store,Android/Golang等谷歌产品加速访问.安装这个扩展程序后,只要在浏览器中打开,可以随意访问谷歌商店内容,使用谷歌搜索。看图: 2. Google学术搜索按钮通...阅读全文

博文 2020-08-20 05:32:49 被最爱的人摸着头顶

Golang基于DFA算法实现敏感词汇过滤

DFA:确定有穷自动机。 具体功能: 将敏感词汇保存在map中。 对敏感词汇进行过滤,将敏感词变为“*”。 对无意义符号进行忽略处理。 敏感词数据结构: { 王:{ isEnd: false 八:{ isEnd:false 蛋:{ isEnd:true } } } } 无意义符号数据结构: { "@":Null (空结构体) } package main import ( "fmt" "strings" ) type Null struct {} var sensitiveWord = make(map[string]interface{}) var Set = make(map[string]Null) const InvalidWords = " ,~,!,@,#,$,%,^,&,*,(...阅读全文

博文 2019-06-03 13:34:39 贝塔船长

自适应网站制作教程

想必很多人都跟小编一样,第一次听到自适应网站这个词的时候,都感觉很陌生,不了解是什么,是一个什么类型的网站。那什么是自适应网站呢?前几年Ethan Marcotte提出了“自适应网页设计”这个名词,指的是可以自动识别屏幕宽度,做出相应调整的网页设计。其实简单来讲,自适应网站就是能够适应不同分辨率屏幕的网站,一站通行,不需要再为每一个不同屏幕大小的设备重新制作一个网站版本。那自适应网站该如何制作呢?自适应网站与响应式网站区别是什么? 一、允许网页宽度自动调整 首先,在网页代码的头部,加入一行viewport元标签。 ...阅读全文

快递鸟单号查询自动识别接口,java对接调用示例

应用场景(1)PC端、移动端应用或网站应用集成运单物流信息查询功能时,只需要录入单号即可完成查询,无需用户输入快递公司。(2)电商网站要在快递鸟查询或者订阅运单时,可通过单号识别先行判断物流公司后,再订阅到快递鸟。API参数一、接口描述/说明(1)该接口仅对运单号做出识别,识别可能属于的一家或多家快递公司。(2)接口并不返回物流轨迹,用户可结合即时查询接口和订阅查询接口完成轨迹查询、订阅的动作。(3)接口识别会返回一家或者多家快递公司,返回的数据根据快递鸟大数据分析结果排序(4)若识别失败,快递鸟返回的匹配结果为空。(5)接口支持的消息接收方式为HTTP POST(6)请求地址:快递鸟请求系统级参数说明:​备注:R-必填(Required),O-可选(Optional),C-报文中该参数在一...阅读全文

简单易用的命令行应用,工具库

Golang下的简单易用的命令行应用,工具库。包含运行命令,颜色风格,数据展示,进度显示,交互方法等 ## 截图展示 ![app-help](https://raw.githubusercontent.com/gookit/gcli/master/_examples/images/app-help.jpg) ## 功能特色 - 使用简单方便,轻量级,无额外依赖 - 支持添加多个命令,并且支持给命令添加别名 - 输入的命令错误时,将会提示相似命令(包含别名提示) - 快速方便的添加选项绑定 `--long`,支持添加短选项 `-s` - 支持绑定参数到指定名称, 支持必须`required`,可选,数组`isArray` 三种设定 - 运行命令时将会自...阅读全文

征服go开始

上一个主题说明了,在ubuntu下的go语言开发环境的搭建,下面就开始我们征服go的征程了,为了首先来了解go语言的特色,我们还是首先来一个最简单的测试“hello world!”测试代码。 在go语言中的实现代码是很简洁的。下面就进行最间的测试代码编写。 package main import "fmt"//导入包,包含打印函数 func main(){ fmt.Print("hello world!")//此处结束也可以添加‘;’ } tsong@tsong:~/exc$ go build gotest.go #编译 tsong@tsong:~/exc$ ./gotest #运行 hello world! go语言的数据类型和使用 在go语言中内置了很多的数据类型,可以很方便的供我们使用...阅读全文

博文 2016-05-21 16:00:01 u010165367

你再也不用设置 GOROOT 了

为什么不再需要设置 GOROOT 呢?推荐读两篇英文文章,我意译了下,将它们放在了一篇里。 第一篇是关于 Go 1.10 之前,怎么设置 GOROOT,发表与 2013 年。第二篇是从 Go 1.10 开始,如何处理 GOROOT,时间是 2018 年,Go 源码提交日志。这篇非常短小。 读完后,你会发现,大多数情况下,我们都不用手动设置 GOROOT 了。 第一篇 作者:Dave Cheney | 地址:you-dont-need-to-set-goroot-really 一篇小短文,解释了为什么在编译和使用 Go 时,不需要设置 GOROOT。 概要性介绍 一般来说,在 Go 1.0 之后,编译和使用 GO 不再需要设置 GOROOT。事实上,如果你的电脑上存在多个版本的 Go 语言环境...阅读全文

博文 2019-11-26 16:04:22 波罗学

MongoShake——基于MongoDB的跨数据中心的数据复制平台

摘要:MongoShake是基于MongoDB的通用型平台服务,作为数据连通的桥梁,打通各个闭环节点的通道。通过MongoShake的订阅消费,可以灵活对接以适应不同场景,例如日志订阅、数据中心同步、监控审计等。其中,集群数据同步作为核心应用场景,能够灵活实现灾备和多活的业务场景。背景在当前的数据库系统生态中,大部分系统都支持多个节点实例间的数据同步机制,如Mysql Master/Slave主从同步,Redis AOF主从同步等,MongoDB更是支持3节点及以上的副本集同步,上述机制很好的支撑了一个逻辑单元的数据冗余高可用。跨逻辑单元,甚至跨单元、跨数据中心的数据同步,在业务层有时候就显得很重要,它使得同城多机房的负载均衡,多机房的互备,甚至是异地多数据中心容灾和多活成为可能。由于目前M...阅读全文

博文 2018-06-26 17:34:53 猫耳呀

golang 类型检测方法

package main import ( "fmt" "reflect" ) func main() { fmt.Println(typeChck("xiaochuan", "string")) fmt.Println(typeChck(123, "int")) fmt.Println(typeChck(12.3, "int")) } //类型检测 要检测的变量 期望变量类型 func typeChck(params interface{}, t string) bool { //数据初始化 var ( return_val bool = false ) v := reflect.ValueOf(params) //获取传递参数类型 v_t := v.Type() //类型名称对比 if ...阅读全文

博文 2016-11-25 12:00:06 liangguangchuan

gf框架之gbinary - 二进制数据操作模块

文章来源:http://gf.johng.cn/500342 gf框架提供了独立的二进制数据操作包gbinary,主要用于各种数据类型与[ ]byte二进制类型之间的相互转换;以及针对于整型数据进行精准按位处理的功能。常用于网络通信时数据编码/解码,以及数据文件操作时的编码/解码。 用于二进制数据结构转换处理的方法列表如下: func Encode(vs ...interface{}) ([]byte, error) func EncodeInt(i int) []byte func EncodeInt8(i int8) []byte func EncodeInt16(i int16) []byte func EncodeInt32(i int32) []byte func EncodeIn...阅读全文