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

数据传输工具 kcptun

# kcptun TCP流转换为KCP+UDP流,用于**_高丢包 _**环境中的数据传输,工作示意图:

+---------------------------------------+
                |                                       |
                |                KCPTUN                 |
                |                                       |
+--------+      |  +------------+       +------------+  |      +--------+
...阅读全文

为什么分布式一定要有Redis?

考虑到绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知。所以我斗胆以 Redis 为题材,对 Redis 常见问题做一个总结,希望能够弥补大家的知识盲点。本文围绕以下几点进行阐述:为什么使用Redis使用Redis 有什么缺点单线程的Redis 为什么这么快Redis 的数据类型,以及每种数据类型的使用场景Redis 的过期策略以及内存淘汰机制Redis 和数据库双写一致性问题如何应对缓存穿透和缓存雪崩问题如何解决Redis 的并发竞争 Key 问题为什么使用 Redis我觉得在项目中使用 Redis,主要是从两个角度去考虑:性能和并发。当然,Redis 还具备可以做分布式锁等其他功能,...阅读全文

博文 2018-09-25 17:30:29 Javatiankenglu

go int 值范围

uint8 : 0 to 255 uint16 : 0 to 65535 uint32 : 0 to 4294967295 uint64 : 0 to 18446744073709551615 int8 : -128 to 127 int16 : -32768 to 32767 int32 : -2147483648 to 2147483647 int64 : -9223372036854775808 to 9223372036854775807 http://www.voidcn.com/link?url=https://groups.google.com/group/golang-nuts/msg/71c307e4d73024ce?pli=...阅读全文

博文 2020-05-27 19:32:45 allenhaozi

擦亮币圈差异化产品服务的特色品牌

全球数字货币市场覆盖广泛,用户群体资源主要被各大服务平台包揽,每个地区的服务平台的较大的区别,所以打造目标产品才是整个项目的有效载体,选择有特色、有优势的产品才是企业挖掘吸纳市场用户的核心关键。首先产品基本上是根据自身的资源和优势来进行选择,这不完全是站在用户的角度,也不是市场需要什么企业就做什么。在这一点上企业必须抓准自己的优势,并且有效的扩大,再考虑市场是否需要这样的产品。​当下全球数字货币经济发展飞速,币圈正逐步涌现出了一些新的项目方,其中不乏一些知名项目。然而在这里我们发现数字货币行业作为金融行业,品牌建设却是一个任重而道远的过程。对于建设项目品牌的目的其实就是综合各种资源打造好产品,提高客户满意度,提高市场独有性,提高产品在市场的美誉度和知名度。在这个脱离了流量红利期的市场,品牌定...阅读全文

单向链表 golang

package main import "fmt" type Object interface {} //节点 type Node struct { data Object next *Node } //单向链表 type List struct { head *Node tail *Node size uint64 } //初始化 func(list *List) Init(){ (*list).size = 0 // 此时链表是空的 (*list).head = nil // 没有头 (*list).tail = nil // 没有尾 } //向尾部添加数据 func (list *List) Append(node *Node) bool { if node == nil { retu...阅读全文

博文 2018-01-19 00:30:00 lianming37

字符串查找算法(二)

接前面的《字符串查找算法》继续写。上一篇文章说过,神奇的数字16777619,当时不知道这个是干嘛用的,现在差不多知道了。 字符串哈希,会经常用到FNV哈希算法。FNV哈希算法如下:将字符串看作是字符串长度的整数,这个数的进制是一个质数。计算出来结果之后,按照哈希的范围求余数,结果就是哈希结果。 #define TRUE_HASH_SIZE ((u_int32_t)50000) /* range top plus 1 */ #define FNV_32_PRIME ((u_int32_t)16777619) #define FNV1_32_INIT ((u_int32_t)2166136261) #define MAX_32BIT ((u_int32_t)0xffffffff) /* lar...阅读全文

golang channel basic

package main import ( "fmt" "math/rand" "time" ) func main() { rand.Seed(time.Now().UnixNano()) q := make(chan string) words := []string{"Enjoy", "Go", "Coding", "Patrick"} t := time.Now() for _, w := range words { // passing w to each goroutine to avoid repeating the same! Try not to. go func(w string) { time.Sleep(time.Duration(rand.Int63n(1e9)))...阅读全文

博文 2015-10-17 03:00:00 bnbqian

Golang学习(14)——Unicode utf8包

Golang学习 - unicode/utf8 包----------------------------// 编码所需的基本数字const ( RuneError = '\uFFFD' // 错误的 Rune 或 Unicode 代理字符 RuneSelf = 0x80 // ASCII 字符范围 MaxRune = '\U0010FFFF' // Unicode 码点的最大值 UTFMax = 4 // 一个字符编码的最大长度)------------------------------------------------------------// 将 r 转换为 UTF-8 编码写入 p 中(p 必须足够长,通常为 4 个字节)// 如果 r 是无效的 Unicode 字符,则写入 ...阅读全文

博文 2017-02-10 10:20:23 1160636144

Golang学习(5)——strconv包

Golang学习 - strconv 包--------------------// 将布尔值转换为字符串 true 或 falsefunc FormatBool(b bool) string// 将字符串转换为布尔值// 它接受真值:1, t, T, TRUE, true, True// 它接受假值:0, f, F, FALSE, false, False// 其它任何值都返回一个错误。func ParseBool(str string) (bool, error)--------------------// ErrRange 表示值超出范围var ErrRange = errors.New("value out of range")// ErrSyntax 表示语法不正确var ErrS...阅读全文

Golang学习 - strconv 包

// 将布尔值转换为字符串 true 或 false func FormatBool(b bool) string // 将字符串转换为布尔值 // 它接受真值:1, t, T, TRUE, true, True // 它接受假值:0, f, F, FALSE, false, False // 其它任何值都返回一个错误。 func ParseBool(str string) (bool, error) ------------------------------ // ErrRange 表示值超出范围 var ErrRange = errors.New("value out of range") // ErrSyntax 表示语法不正确 var ErrSyntax = errors.New(...阅读全文

数据分析,怎么做才算到位?

DT时代,数据的重要性,相信所有企业和ITers都是深有体会的。互联网企业想要长效发展,一定离不开对于自身门户平台的管理和数据分析。 稍有规模的互联网公司,每天都会沉淀不小规模的数据,但由于很多中小企业并无专职的分析师,导致线上运营团队只能通过简单的数字报表了解整体的运营状况。然而当数据信息展示不直观时,分析效率低下,会严重影响数据的利用率和分析的有效性。 数据怎么才能直观?这样一个数据平台,看了是否很心动呢? ![image001.png](http://studygolang.qiniudn.com/170713/42809489bdcc9680c4722f4dbfc4f48d.png) 一个简洁美观的数据分析平台,对于高速发展的互联网行业,十分必要。每一个渴望成功,...阅读全文

企业如何善用数据,完成运营数据的平台化统计分析

DT时代,数据的重要性,相信所有企业和ITers都是深有体会的。互联网企业想要长效发展,一定离不开对于自身门户平台的管理和数据分析。 稍有规模的互联网公司,每天都会沉淀不小规模的数据,但由于很多中小企业并无专职的分析师,导致线上运营团队只能通过简单的数字报表了解整体的运营状况。然而当数据信息展示不直观时,分析效率低下,会严重影响数据的利用率和分析的有效性。 数据怎么才能直观?这样一个数据平台,看了是否很心动呢? ![image001.png](http://studygolang.qiniudn.com/170713/42809489bdcc9680c4722f4dbfc4f48d.png) 一个简洁美观的数据分析平台,对于高速发展的互...阅读全文

疑似BUG一处, 神TM的索引超出范围

如下函数 ```go func (this *GenPic) ShowPicMini() { for i := 0; i < 4; i++ { for y := 0; y < len(this.picMiniBox[i][0]); y++ { for x := 0; x < len(this.picMiniBox[i]); x++ { fmt.Println("|", i, x, y, len(this.picMiniBox), len(this.picMiniBox[i]), len(this.picMiniBox[i][0])) if this.picMiniBox[i][x][y] == 0 { //这里报错 fmt.Printf...阅读全文

Golang学习 - strconv 包

// 将布尔值转换为字符串 true 或 false func FormatBool(b bool) string // 将字符串转换为布尔值 // 它接受真值:1, t, T, TRUE, true, True // 它接受假值:0, f, F, FALSE, false, False // 其它任何值都返回一个错误。 func ParseBool(str string) (bool, error) // ErrRange 表示值超出范围 var ErrRange = errors.New("value out of range") // ErrSyntax 表示语法不正确 var ErrSyntax = errors.New("invalid syntax") // 将整数转换为字符串形...阅读全文

博文 2019-04-21 22:34:41 佛心看世界

Golang学习 - unicode/utf8 包

// 编码所需的基本数字 const ( RuneError = '\uFFFD' // 错误的 Rune 或 Unicode 代理字符 RuneSelf = 0x80 // ASCII 字符范围 MaxRune = '\U0010FFFF' // Unicode 码点的最大值 UTFMax = 4 // 一个字符编码的最大长度 ) // 将 r 转换为 UTF-8 编码写入 p 中(p 必须足够长,通常为 4 个字节) // 如果 r 是无效的 Unicode 字符,则写入 RuneError // 返回写入的字节数 func EncodeRune(p []byte, r rune) int // 解码 p 中的第一个字符,返回解码后的字符和 p 中被解码的字节数 // 如果 p 为空,则...阅读全文

博文 2019-04-19 18:34:40 佛心看世界

Golang学习 - strconv 包

// 将布尔值转换为字符串 true 或 false func FormatBool(b bool) string // 将字符串转换为布尔值 // 它接受真值:1, t, T, TRUE, true, True // 它接受假值:0, f, F, FALSE, false, False // 其它任何值都返回一个错误。 func ParseBool(str string) (bool, error) ------------------------------ // ErrRange 表示值超出范围 var ErrRange = errors.New("value out of range") // ErrSyntax 表示语法不正确 var ErrSyntax = errors.New(...阅读全文