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

数据宝第一季度大会暨蒋巷生态园拓展训练完满结束

喧鸟覆春洲,杂英满芳甸。在春意盎然,繁花似锦的4月天,为了丰富员工的业余生活,促进员工之间的交流沟通,加强团队文化建设,增强团队凝聚力,2017年4月27日,第一季度,数据宝(上海、北京分公司)员工前往江苏常熟蒋巷生态园开展为期2天的拓展训练,期以最强健的体魄,最刚烈的意志以及最顽强斗志迎接数据宝未来。 ![1.jpg](http://studygolang.qiniudn.com/170515/cdd6b4b8481a8e80a56a32357c8aed88.jpg) 人才是数据宝核心竞争力 人才是一个企业发展的核心竞争力,是先进生产力和先进文化的重要创造者和传播者,是互联网社会发展的宝贵资源。数据宝公司拥有员工500余人,其中博士学位占比20%,硕士学位40%,本科学位...阅读全文

go 服务监控指标(metric)上报open-falcon

1. 概述 指标统计是实现APM(Application performance management)的基础,通常通过一些指标的统计以及上报,我们可以了解程序的运行状况,及时发现程序的问题,提前预估系统瓶颈.指标(metric)目前的实现有metrics,这是java的实现,可以直接引入程序作为库使用.go语言的实现见go-metrics.另外,这里只是将指标在内存中进行处理及计算,如果我们想要展示,需要将数据抛出来,这里可以抛到日志里,也可以抛到时序数据库,最简单的做法就是直接抛到监控系统进行绘图或者报警.因此本文后面将讲解各指标的含义以及如何将计算好的数据抛到监控open-falcon 2.指标统计方式 2.1 Meters 用于计算一段时间内的计量,通常用于计算接口调用频率,如QPS...阅读全文

博文 2018-04-28 09:34:37 沐风

Go语言fmt包Printf方法详解

Go语言的标准输出流在打印到屏幕时有些参数跟别的语言(比如C#和Java)不同,下面是我整理的一些常用的格式化输入操作。 General %v 以默认的方式打印变量的值 %T 打印变量的类型 Integer %+d 带符号的整型,fmt.Printf("%+d", 255)输出+255 %q 打印单引号 %o 不带零的八进制 %#o 带零的八进制 %x 小写的十六进制 %X 大写的十六进制 %#x 带0x的十六进制 %U 打印Unicode字符 %#U 打印带字符的Unicode %b 打印整型的二进制 Integer width %5d 表示该整型最大长度是5,下面这段代码 12 fmt.Printf("|%5d|", 1) fmt.Printf("|%5d|", 1234567) 输出结...阅读全文

博文 2017-09-21 12:17:25 johng

go语言中的零值

go语言中的零值是变量没有做初始化时系统默认设置的值。 var b bool // bool型零值是false var s string // string的零值是"" var a *int var a []int var a map[string] int var a chan int var a func(string) int var a error // error是接口 // 以上六种类型零值常量都是nil 所有其他数值型的类型(包括complex64/128)零值都是0,可以用常量表达式代表数值0的任何形式表示出来。 对于以上各种类型都可以通过==条件判断是不是零值: if <变量> == <零值表达式> { } 但是类型不能混用,变量类型和零值类型必须匹配。 结构也有零值。如果...阅读全文

博文 2018-09-28 10:34:47 huotuijin

一个简单的例子阐述Go的对象复用思想

本来想写一个例子来给团队的人阐述一下Go中的对象复用思想,写完后发现这种思想也许某些同学还不知道,现分享出来。 // Go中为了减少海量的内存分配,控制垃圾回收时间,对于热点数据采用池的思想去处理是 // 非常棒的,下面的例子就是一个简单的tcp读取缓存池复用 // 实现了一个读取tcp长连接的buffer池,每次读取一条新连接时,先去池里读取 // 如果不存在,则创建新的 // 注意buf在放回池里时,没有进行归零处理,因为conn.Read每次读取时候, // 都会从buf.b[0]的位置开始写 package main import ( "fmt" "net" "sync" ) var bufPool sync.Pool type buf struct { b []byte } fun...阅读全文

博文 2016-04-14 19:00:01 abv123456789

请问go标准库里面有没有对一个uint32某几个bit更改或者移位的package?

最近要做一个小工具,对uint32的整数进行逻辑位操作,想请教大家一下,想实现下面的功能,有没有标准库的支持,省得自己再开发了。 (1)对某连续的几个bit进行赋值; (2)循环左移或者右移; (3)左移低位补零,或者右移高位补零。 麻烦各位专家指点一下! 谢谢...阅读全文

Golang AES算法与 java(android)的互通

由于Java AES256 加密库受出口限制,所以只采用AES 128加密。 互通要达到的要求 加密位数:统一采AES 128 分组加密条件:CBC/PKCS#5PADDING 密钥填充方式一样 因为android的默认填充与java默认不一样,而且在不同的JDK版本里也会出现key填充不一致的情况,所以自己手动填充,Go也采取与java一样的填充方式:不满16位补零。AES两个平台均要实现AES的加密与解密操作。加密结果转成base64。 关键代码如下所示:go: //填充 func paddingkey(key string) (string){ var buffer bytes.Buffer buffer.WriteString(key) for i:=len(key);i<16;i+...阅读全文

博文 2017-04-19 08:56:03 送你一碗大麦茶

[SeqNo] - 一款基于MySQL的分布式自增序列发号器。

通常地,在一些业务中我们需要像MySQL的自增列一样来生成与存储数据。比如餐厅取餐号,排队号码等。 SeqNo 就是基于以上场景而诞生,拥有以下特性: 分布式。 基于分布式锁实现。 自设步长。 定期归零。基于时间格式。 严格自增。 https://github.com/imiskolee/.....阅读全文

博文 2019-04-09 13:34:40 imiskolee

golang访问tar文件

golang访问tar文件 下面例子提取一个tar文件的内容: package main import ( "io" "os" "fmt" "path" "encoding/json" "archive/tar" ) func extract(tarfile string) { reader, err := os.Open(tarfile) if err != nil { fmt.Printf("ERROR: cannot read tar file, error=[%v]\n", err) return } defer reader.Close() tarReader := tar.NewReader(reader) for { header, err := tarReader.Next(...阅读全文

博文 2018-08-30 14:35:11 CodingCode

【JavaScript】请不要把Object和JSON混为一谈

什么是JSON { "name": "小徐", "experience": 2.5, "hobbit": ["唱歌","跳舞","打球","说唱"] } 什么是Object var o = { name: '小吴', age: 22, height: 185 } 为什么会被混为一谈 原因很简单:这两个东西长得很像啊,都有花括号/键值对,而且JSON就是由JavaScript衍生出来的格式,难免会傻傻分不清楚 然而作为一个较真的切图仔,不能这么马马虎虎地对待这方面的知识。我们把Object写成这样: const o = { name: '小吴', age: Math.floor(Math.random()*10) + 20, height: 3*60+5, // 每涨一岁,就skr一次 [Sy...阅读全文

博文 2020-02-02 11:32:39 Kagashino

DERO:BlockDag+Ghost+Bulletproofs+环签名+匿名合约+Golang编写

开场白:净化币圈环境从我做起,大家好,我是驴把头。今天给大家推荐一款百倍币—DERO,之前也写过DERO的相关文章,没看过的可以翻阅一下。DERO:基于Dag和CryptoNote协议,通过Golang语言从零开始编写,并融合了Bulletproofs防弹技术+环签名等先进的匿名技术,创新了DERO系统(DEROFilesystem)和匿名合约的新一代的完全匿名(交易匿名+合约匿名)的匿名公链。 dero 直入主题,接下来我们从:基本面、技术优势、Roadmap、dapp开发、社区建设等方面对DERO进行深度分析。基本面、规格 dero规格 项目优势DERO:唯一完全匿名加密货币(交易匿名+合约匿名)目前tps:1000+(高压),匿名币种速度极快比特币因匿名性极差丧失了匿名性比特币使用的混...阅读全文

博文 2019-03-21 20:34:40 币圈驴把头

一个简单的例子阐述Go的对象复用思想

版权声明:本文为Sunface(孙飞)原创文章,转载请注明出处 https://blog.csdn.net/abv123456789/article/details/51153474 本来想写一个例子来给团队的人阐述一下Go中的对象复用思想,写完后发现这种思想也许某些同学还不知道,现分享出来。 // Go中为了减少海量的内存分配,控制垃圾回收时间,对于热点数据采用池的思想去处理是 // 非常棒的,下面的例子就是一个简单的tcp读取缓存池复用 // 实现了一个读取tcp长连接的buffer池,每次读取一条新连接时,先去池里读取 // 如果不存在,则创建新的 // 注意buf在放回池里时,没有进行归零处理,因为conn.Read每次读取时候, // 都会从buf.b[0]的位置开始写 packa...阅读全文

博文 2019-03-17 13:13:47 erlib

golang fmt.printf()

package main import "fmt" import "os" type point struct { x, y int } func main() { //Go 为常规 Go 值的格式化设计提供了多种打印方式。例如,这里打印了 point 结构体的一个实例。 p := point{1, 2} fmt.Printf("%v\n", p) // {1 2} //如果值是一个结构体,%+v 的格式化输出内容将包括结构体的字段名。 fmt.Printf("%+v\n", p) // {x:1 y:2} //%#v 形式则输出这个值的 Go 语法表示。例如,值的运行源代码片段。 fmt.Printf("%#v\n", p) // main.point{x:1, y:2} //需要打印值的...阅读全文

博文 2017-07-01 16:00:15 renxing123

一个简单的例子阐述Go的对象复用思想

本来想写一个例子来给团队的人阐述一下Go中的对象复用思想,写完后发现这种思想也许某些同学还不知道,现分享出来。 // Go中为了减少海量的内存分配,控制垃圾回收时间,对于热点数据采用池的思想去处理是 // 非常棒的,下面的例子就是一个简单的tcp读取缓存池复用 // 实现了一个读取tcp长连接的buffer池,每次读取一条新连接时,先去池里读取 // 如果不存在,则创建新的 // 注意buf在放回池里时,没有进行归零处理,因为conn.Read每次读取时候, // 都会从buf.b[0]的位置开始写 package main import ( "fmt" "net" "sync" ) var bufPool sync.Pool type buf struct { b []byte } fun...阅读全文

博文 2017-10-27 20:59:40 erlib

Go并发

package main import ( "fmt" "runtime" "sync" "time" ) var c int func counter() int { c++ return c } func main2() { a := 100 go func(x, y int) { time.Sleep(time.Second) println("go:", x, y) }(a, counter()) a += 100 println("main:", a, counter()) time.Sleep(time.Second * 3) } // 进程退出不会等待并发任务结束,可用通道阻塞,然后发出退出信号 func main3() { exit := make(chan struct{}...阅读全文

博文 2020-03-07 22:32:40 xiongkun01

使用Java SDK实现离线签名

严格来说,tx-signer并不属于SDK,它是bytomd中构建交易、对交易签名两大模块的java实现版。因此,若想用tx-signer对交易进行离线签名,需要由你在本地保管好自己的私钥。 如果你的目的是完全脱离于bytomd全节点,可能需要自己做更多额外的工作。比如,在构建交易时,需要花费若干个utxo(Unspent Transaction Output)作为交易的输入,如果没有全节点则需要自身来维护utxo。当使用tx-signer构建完成一笔交易并签名后,若没有全节点的帮助,也需要自己实现P2P网络协议将交易广播到其他节点。 本文不会对以上技术细节进行讨论,而是利用bytomd全节点查询可用的utxo构建交易,对交易进行签名并序列化后,同样使用bytomd提交交易。 准备工作 将M...阅读全文

博文 2019-03-27 16:34:47 比原链Bytom

Bytom的链式交易和花费未确认的交易

当我们基于比原做应用的时候,在构建交易过程中会遇到以下两种情况。多个地址向一个地址转账,还有一种就是从一个地址分批次向多个地址转账。那我们今天就来介绍一下这两种交易构建的具体流程,以及贴出具体实现的代码。 链式交易 当我们从多个钱包地址一次性转到一个地址的时候,为了提高用户体验。我们可以选择链式交易,把多笔交易一次性打包。那我们下面就来看一下链式交易的流程。 接下来我们来看一下build-transaction接口的代码实现过程,代码如下: // POST /build-chain-transactions func (a *API) buildChainTxs(ctx context.Context, buildReqs *BuildRequest) Response { //验证请求id...阅读全文

博文 2019-03-01 18:34:41 比原链Bytom