Go语言高性能字符串拼接

这是一片关于stackoverflow热门问题的文章 How to efficiently concatenate stringsGo里面string是最基础的类型,是一个只读类型,针对他的每一个操作都会创建一个新的string 所以,如果我在不知道结果是多少长字符串的情况下不断的连接字符串,怎么样的方式是最好的呢? 1. 方法一:使用strings.Builder 从Go 1.10(2018)版本开始可以使用 strings.Builder, A Builder is used to effi...阅读全文

Segmentfault 2019-09-15 18:02:38 TechMojotv

go语言学习新路历程,附带学习路径图,以及10门完整自学视频教程,现已就业!

Go语言并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。Go语言特色:简洁、快速、安全、并行、有趣、开源、内存管理、数组安全、编译迅速等。Go入门指南:一:零基础的同学:(请选择这两门入门课程学习,可以说是最好的go语言入门教程了)可能正准备入行或对编程刚开始感兴趣,对计算机、操作系统和网络方面的知识不太了解。无编程经验或者编程经验较少的同学:可能正在从事其他的技术相关工作,也许可以熟练编写脚本,但是对程序设计的通...阅读全文

Go语言中文网 2019-09-15 12:01:41 zhangaijia

Go 中 slice 的 In 功能实现探索

之前在知乎看到一个问题:为什么 Golang 没有像 Python 中 in 一样的功能?于是,搜了下这个问题,发现还是有不少人有这样的疑问。 今天来谈谈这个话题。如果觉得本文有帮助,帮忙给个赞,谢谢! in 是一个很常用的功能,有些语言中可能也称为 contains,虽然不同语言的表示不同,但基本都是有的。不过可惜的是,Go 却没有,它即没有提供类似 Python 操作符 in,也没有像其他语言那样提供这样的标准库函数,如 PHP 中 in_array。 Go 的哲学是追求少即是多。我想或许 ...阅读全文

Segmentfault 2019-09-15 18:02:37 波罗学

深入Go的错误处理机制使用

开篇词 程序运行过程中不可避免的发生各种错误,要想让自己的程序保持较高的健壮性,那么异常,错误处理是需要考虑周全的,每个编程语言提供了一套自己的异常错误处理机制,在Go中,你知道了吗?接下来我们一起看看Go的异常错误机制。 Go错误处理,函数多返回值是前提 首先我们得明确一点,Go是支持多返回值的,如下,sum函数进行两个int型数据的求和处理,函数结果返回最终的和(z)以及入参(x,y),既然支持多返回值,同理,我们能否把错误信息返回呢?当然是可以的 func sum (x,y int) (i...阅读全文

博客园 2019-09-11 21:09 sy270321

Go 中 slice 的 In 功能实现探索

之前在知乎看到一个问题:为什么 Golang 没有像 Python 中 in 一样的功能?于是,搜了下这个问题,发现还是有不少人有这样的疑问。 今天来谈谈这个话题。 in 是一个很常用的功能,有些语言中可能也称为 contains,虽然不同语言的表示不同,但基本都是有的。不过可惜的是,Go 却没有,它即没有提供类似 Python 操作符 in,也没有像其他语言那样提供这样的标准库函数,如 PHP 中 in_array。 Go 的哲学是追求少即是多。我想或许 Go 团队觉得这是一个实现起来不足为道...阅读全文

掘金 2019年09月14日 波罗学

Go restful 基础

来自自己的公众号:灰子学技术。在学习Go的restful的时候,尝试着写了下,如何实现一个Web服务器,从最简单的代码一步步写起来,算是一个练习帖子吧。1.Go中Web服务的实现方式,采用Http库,主要用到了两个函数,HandleFunc和ListenAndServe,一个用来注册函数,一个用来监听端口并提供服务。​​2.Restful通过添加路由来实现Web服务,通过router的注册来实现解析规则和函数的注册。将router添加到ListenAndServe中,用来实现数据的响应。​运行结...阅读全文

Go语言中文网 2019-09-14 11:00:58 ZhDavis

Rabbitmq 简单介绍,安装和go客户端使用

Rabbitmq 简单介绍,安装和go客户端使用 1,消息队列介绍 1.1 什么是消息队列? 消息队列(英语:Message queue)是一种进程间通信或同一进程的不同线程间的通信方式,软件的贮列用来处理一系列的输入,通常是来自用户。消息队列提供了异步的通信协议,每一个贮列中的纪录包含详细说明的数据,包含发生的时间,输入设备的种类,以及特定的输入参数,也就是说:消息的发送者和接收者不需要同时与消息队列互交。消息会保存在队列中,直到接收者取回它。消息队列,一般我们会简称他为MQ(Message ...阅读全文

51CTO博客 2019-09-13 10:42:02 铁血军人

薅羊毛的土豪项目【龙纪链】

薅羊毛的土豪项目【龙纪链】 龙纪链豪撒两亿ETH空投分享就能日薅千元! 好玩+好赚+好交易!猜哈希日收益翻30倍! 海外团队倾力打造长期项目,透明安全独创白嫖玩法 一分不花还赚钱!收益秒兑秒提 玩的就是放心! 真正零撸 轻松躺赚相信就干 不信就看 Telegram群: t.me/DGEraChain币用群: 0.plus/DGEraChain加微信: mox1080、xiang14gang、www799584123下载注册链接:https://front.dgera.net/regis...阅读全文

Segmentfault 2019-09-13 16:02:37 哒哒区块链

Go并发(五):WaitGroup

转自公众号:灰子学技术原文链接:https://mp.weixin.qq.com/s/PIb-gGBootc6581pHhi5ew本篇其实是Go并发编程的补充篇章,只是用来介绍WaitGroup的使用介绍。对于Go的并发编程来说,主协程需要知道其他的协程何时结束。通常我们的做法是采用channel的方式来控制,这种做法很好,可以参见我的另外一个帖子(Go并发之channel篇:https://mp.weixin.qq.com/s/PIb-gGBootc6581pHhi5ew)。但是对于一些简单的...阅读全文

Go语言中文网 2019-09-13 10:12:36 ZhDavis

[Golang] 聊一聊Go的那些处理命令行参数和配置文件的库

前言 最近应为一直在写Go,避免不了要处理一些命令行参数和配置文件。虽然Go原生的flag库比起其他语言,在处理命令行参数上已经做的很易用了,Go的社区也有很多好用的库。这篇文章主要介绍一下自己这段时间接触使用过库,为有同样需求的朋友也提供一些参考。 flag 首先还是有必要简单介绍一下Go的原生库flag, 直接上代码 基本用法 var id = flag.Int("id", 1, "user id") var mail = flag.String("mail", "test@gmail.co...阅读全文

Segmentfault 2019-09-15 18:02:37 leeif

go build 不同系统下的可执行文件

go build 不同系统下的可执行文件Golang 支持在一个平台下生成另一个平台可执行程序的交叉编译功能。1、Mac下编译Linux, Windows平台的64位可执行程序:$ CGO_ENABLED=0GOOS=linuxGOARCH=amd64go build test.go$ CGO_ENABLED=0GOOS=windowsGOARCH=amd64go build test.go2、Linux下编译Mac, Windows平台的64位可执行程序:$ CGO_ENABLED=0GOOS...阅读全文

51CTO博客 2019-09-12 17:46:58 蓝叶子Sheep

谈谈 Golang, 以及我走的一些弯路

在某乎上看到了这个问题, 还是挺有意思的. 撕哪个语言最好, 几乎是工程师当中最好的引战题目了. 今天我只想谈谈我是怎么看待 Go 的, 以及我走的一些弯路. 我是 2010 年在学校的时候了解到 Go 语言的. 当时的 Go 语言还是一塌糊涂, STW GC 是大家嘲讽 Go 语言的最佳标靶. 只要黑一句, Go 粉基本被噎得说不出话来. 我当时正想储备一门带并发编程模型的语言. 因为觉得未来 CPU 主频不再增长的情况下, 带并发编程模型的语言肯定是未来的主流. 是共享内存型语言强有力的竞争...阅读全文

掘金 2019年09月12日 karminski牙医

使用 Go 读取配置文件

简介 使用 viper 读取配置 使用 Cobra 创建命令行工具 热重载 总结 当前部分的代码 简介 在上次的实践中, 启动了一个基础的 restful api server. 当时的代码中有很多硬编码的属性, 这次就要尝试从配置文件中读取. 使用 viper 读取配置 这里使用 viper 读取配置, 首先安装一下. go get -u github.com/spf13/viper 创建一个 config 目录, 然后添加 config.go 文件, 在里面定义一个结构 Config, 使用...阅读全文

Segmentfault 2019-09-15 18:02:37 帅气猫咪

区块链技术

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 第一章:区块链基本知识 1.区块链概念 顾名思义,“区块链”是一个链表,这个链表由所有人共同维护和认可。 1.1.什么是区块链 区块链(Block chain)是一种分布式共享数据库(数据分布式储存和记录),利用去中心化和去信任方式集体维护一本数据薄的可靠性的技术方案。 如果把区块链作为一个状态机,则每次交易就是试图改变一次状态,而每次共识生成的区块,就是参与者对于区块中所有交易内容导致状态改变的结果进行确认。 1....阅读全文

Segmentfault 2019-09-15 18:02:35 链客

比特币如何实现—《区块链历史链条》2

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 11比特币为什么还没有挖完比特币系统靠调节难度系数保证比特币不被太快挖完。每10分钟,全网矿工共同计算一道难题,竞争记账权及比特币奖励。如果全网算力不断增长,比特币将很快被挖矿。为了保证比特币稳定在约10分钟挖出一个区块,中本聪设计矿工挖矿获得比特币的难度每过2016个区块(约2周时间)动态调整一次,令调整后的难度使得每生成一个区块的预期时间为10分钟。现在的难度系数约为480PH/s,大约是创世区块的680亿倍,也...阅读全文

Segmentfault 2019-09-15 18:02:36 链客

ABS是啥,为什么区块链可以与它完美结合?

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 房地产市场在各方调控下终于进入新的平稳期,但租房市场近日来却是水涨船高。抛开传统的租售比概念不谈,今天小编想和大家谈谈ABS模式是如何改变传统租房市场,以及区块链技术将给ABS带来哪些机遇。 如果你是一个金融小白,肯定连ABS是什么都不知道。事实上,所谓ABS,也就是资产证券化,它指的是将缺乏流动性、但具有可预期收入的资产进行打包,通过在资本市场上发行证券的方式予以出售,以最大化提高资产的流动性。 注意!重点来了:“...阅读全文

Segmentfault 2019-09-15 18:02:36 链客

看清区块链

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 虽然说比特币系统于2009年推出,但区块链技术自2015年才兴起,到今天也就两年多一点的时间。 比特币系统是把多种技术组合创新,实现了一个防止篡改、防止欺诈的多方记账机制,构建起一个平等、协作、信任的价值传输网络。而区块链技术从比特币系统中被挖掘出来,经过二次创新和发展,瞄准的是解决现实场景中的问题。 当前区块链构想的运行环境与现实世界之间还存在一个鸿沟。现实中很难找到像比特币一样封闭的体系,产生在网络中、流转在网络...阅读全文

Segmentfault 2019-09-15 18:02:35 链客

一文看懂怎样用 Python 创建比特币交易

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 比特币价格的上上下下,始终撩动着每一个人无比关切的小心脏。从去年初的 800 美元左右,飞涨到去年底到 19783.21 美元最高点,不到1年,便有将近 25 倍的升值速度。尽管眼下又掉回 8000 多美元的价格,但价格差不多能搞出去年同期一个数量级,币圈人士“过去一年比以往 10 年挣的都多”,已经是不争的事实。 而对区块链开发者来说,据说也已经有拿到年新 500 万的天价。所以“跑步进入区块链”,已经成为不少程序...阅读全文

Segmentfault 2019-09-15 18:02:35 链客