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

Go位运算:取反和异或

在Go规范,^ 这个运算符在一元运算符和二元运算符中都出现了。那么他们分别是啥? 在规范中说道:^ bitwise XOR integers 这是按位异或。比如: package main import "fmt" func main() { fmt.Println(5^2) } 到这执行:[http://play.golang.org/p/iZioqWSSdA](http://play.golang.org/p/iZioqWSSdA) 一般语言中,按位取反是:~ Go中是不是这样呢?可以写个程序试一下: package main import "fmt" func main() { ...阅读全文

微信公众号文章采集mlog-wxbot

mlog-wxbot,微信公众号文章采集。 **功能简介** * 机器人关注技术相关的公众号,当这些公众号推送文章的时候,机器人就能够收到消息,然后将消息对应的文章内容抓取下来,通过该方式能第一时间获取到自己关注的公众号中的新文章。 * 在抓取到微信的文章之后,会利用百度 ai 自动为文章分组打标签。 * 然后根据配置会将文章推送到指定的接口,以实现文章发表功能。 **存在的问题** * 因为微信机器人使用的是网页版微信 api,所以要求你的微信号码能够登录网页版微信,并不是所有的微信号码都支持登录网页版本微信,使用请用你的微信号码到这里( [https://wx.qq.com/](https://mlog.club/redirect?url=https%3A%2F%...阅读全文

Pokemon Go 教程

澳大利亚apple id 账号:fdf087469@163.com 密码:He807671626 据说不要登icould,一登就会锁了 将iPhone内部的Appstore ID更改一下。登入AppStore,可以看见AppStore已经自动切换到澳大利亚区,直接搜索Pokemon Go,点击下载。此过程稍微慢点,请各位耐心等待。 pokemon go中国玩家必须懂的教程 下载完先别着急,将刚刚iCloud ID更换成你原来的,再次登入AppStore,已经自动切换到国区(最垃圾的就是国区!!),搜索下载一个VPN,这里我推荐Green VPN或者Tiger VPN,可以免费用10天(感觉爽就付费包月咯)。 pokemon go中国玩家必须懂的教程 下载完VPN,打开VPN软件,会提示设置,...阅读全文

博文 2016-07-18 12:00:01 q8649912

Golang 中 strings.builder 的 7 个要点

自从 Go 1.10 发布的一个月以来,我多少使用了一下 `strings.Builder`,略有心得。你也许知道它,特别是你了解 `bytes.Buffer` 的话。所以我在此分享一下我的心得,并希望能对你有所帮助。 ## 1. 4 类写入(write)方法 与 `bytes.Buffer` 类似,`strings.Builder` 也支持 4 类方法将数据写入 builder 中。 ```go func (b *Builder) Write(p []byte) (int, error) func (b *Builder) WriteByte(c byte) error func (b *Builder) WriteRune(r rune) (int, error) func (b *Bu...阅读全文

博文 2018-04-14 10:58:21 snowInPluto

完美解决从github上下载东西慢的方法

我的情况标签如下:golang开发,go1.13,ubuntu18.04,从github上go get 获取资源慢(那种基本不动,然后最后会报错的情况) 此方法只针对golang开发者: 第一步:将go版本升级到go1.13(现在是2019-9-27,前些日子go到了最新的1.13版本,可通过go version查看go 版本)。 go版本.png 第二步:设置环境变量(使用go env查看环境变量相关信息) go-env查看环境.png 怎么设置呢?这里我们只要设置两个东西: GO111MODULE=和GOPROXY=; 设置命令如下(在黑窗口直接分别输入以下两条命令): go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy....阅读全文

博文 2019-09-29 14:33:09 aside section ._1OhGeD

让go语言调用外部程序时支持管道符

有一个需求是用go语言程序调用外部命令时,允许使用管道符,如 ls | wc -l Go语言对外部命令的调用进行了一定的封装,下面来试一下: package main import ( "os" "os/exec" ) func main() { run1() } func run1() { cmd := exec.Command("ls", "|", "wc", "-l") cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr cmd.Start() cmd.Run() cmd.Wait() } 这样执行时,控制台会打出错误: ls: 无法访问|: 没有那个文件或目录 ls: 无法访问wc: 没有那个文件或目录 难道Go程序不能使用管道符命令吗?带这此...阅读全文

博文 2014-10-04 19:26:31 qinerg

golang rsa 和 cgo (openssl) 性能对比

最近在做一个 使用 golang 开发 聚合支付网关的项目,其中要使用 rsa 签名算法 进行支付宝参数签名, 在压测 的时候发现 rsa 签名 性能十分低下,网上查资料 有人说 使用 openssl 的速度是 golang 的数倍, 于是我就用cgo (openssl) 和 golang rsa 做了一个对比,发现居然相差五倍,openssl 完胜。 下面是我的实现代码地址,有兴趣的可以下载运行试一下 https://github.com/Bulesxz/rsa_cgo.git 运行 go get github.com/Bulesxz/rsa_cgo go test -bench="." 测试环境: 硬件概览: 型号名称: MacBook Pro 型号标识符: MacBookPro13,2...阅读全文

博文 2017-08-27 07:34:56 fireblue火蓝

golang gbk转utf8

package ms2mysql import ( "bytes" "golang.org/x/text/encoding/simplifiedchinese" "golang.org/x/text/transform" "io/ioutil" ) func Decode(s []byte) ([]byte, error) { I := bytes.NewReader(s) O := transform.NewReader(I, simplifiedchinese.GBK.NewDecoder()) d, e := ioutil.ReadAll(O) if e != nil { return nil, e } return d, nil } win7 64位下试了好几个其他方式,结果都不行,...阅读全文

博文 2016-04-22 00:00:02 benlightning

sqlite连接(windows 7)

请问在windows下连接sqlite应该怎么做? 试了mattn/go-sqlite3..提示 # command-line-arguments D:\GOPATH\pkg\windows_386/github.com/mattn/go-sqlite3.a(sqlite3_windows.)(.text) : __divdi3: not defined D:\GOPATH\pkg\windows_386/github.com/mattn/go-sqlite3.a(sqlite3_windows.)(.text) : __moddi3: not defined D:\GOPATH\pkg\windows_386/github.com/mattn/go-sq...阅读全文

你好,学士,再见,再见。

再见了,我的40X实验室,再见了,我的cslg。 学号为Cslg.XXX111的同学,你的在校时长所剩不多,请准备好下线。 ​ 2013年,我来到这个学校,怀着希望,那时我告诉自己,如果有一天,失去希望了,就用LOL里赵信的一句话来激励自己:勇士之魂,从未破灭。但是,每次失望,都是先在微博上痛骂WQNMLGB。高兴的时候,从来没有在微博上发过什么。印象中,就追到了女朋友的时候,发了一句:起飞喽。 要反省的是,我的心态,从大一下学期就有问题。我把学校当成试炼场,而没有当成一个用心生活的地方。我当时并没有想到,这会是这辈子不能忘记的一部分,是实实在在的经历,而不是什么可以重来的试炼场。所以,犯下了很多错误,技术上,这个好,学!结果呢,往好了说,技术广度很不错,往差了说,什么都不好好学。爱情上,女...阅读全文

博文 2017-06-17 05:07:01 送你一碗大麦茶

iOS开发:Pokemon Go试玩,未越狱的iPhone伪造GPS定位信息

最近Pokemon Go 火的不行,结果人家服务器扛不住了,只接受GPS定位信息在澳洲的客户端的登陆请求。今天自己搞了个小Demo,在未越狱的iPhone上把系统的GPS定位信息给改了。 步骤: 在Xcode8-beta上新建一个空白工程 -> Edit scheme -> Default Location 选澳洲 -> Device选真机设备,Run Paste_Image.png 现在,看看自己手机(我是iOS10系统): 1.微信: Paste_Image.png 2.高德地图: Paste_Image.png 3.系统相机随便拍个照,查看位置信息 Paste_Image.png 4.查找我的iPhone Paste_Image.png 现在美中不足是,即使应用删除,GPS定位信息还是...阅读全文

博文 2016-09-14 17:00:01 jijiji000111

1个流利星球和1000位同学的故事

![]( https://wx3.sinaimg.cn/mw690/76e2fc92gy1fpes2wdhfzj20hs0dcjt3.jpg) 在过去的 2017 年,流利星球的人数突破了 1000 位同学,平均年龄 26 岁,五湖四海聚集于此。 在加入流利星球之前,他们中很多人是独立设计师、创业家、自由开发者、摄影制片人、歌手、旅行达人、健身教练。 ![]( https://wx2.sinaimg.cn/mw690/76e2fc92gy1fpes5fms7tj20hs0bv0tz.jpg) **我们今天来谈谈这 1000 位同学为何要加入流利说。** “我是流利说的老用户,很喜欢我们的 app,大学的时候经常会用,毕业的时候就想,讲不定可以试试看啊,所以后...阅读全文

[上海][点融网]明日银行跪着招 Go 工程师,快来这里收获技术、产品、用户和各种理财秘籍

点融网-上海黄浦-互联网金融 融资状况:2015 年渣打银行领投,C 轮 2.07 亿美金 行业地位:行业排名 No.3,互联网金融协会常务理事单位 公司网址:www.dianrong.com 渣打入股点融网大猜想,“明日银行”长什么样? 传统银行首次注资 P2P 点融网 C 轮融 2.07 亿美元 帮助中国人更了解“钱”是什么,通过技术和产品把“金融”拉下神坛,让更多的人明白钱是可以为你工作的,而不是你为钱而工作! 希望你是下面这样的 薪资待遇 20-30K 起(高级岗),不设上限,鼓励创新和试错,充裕成长空间,还各种大神教你理财内幕干货,更有各种内部投资渠道福利(保守估计相当于每年多 1 薪) G...阅读全文

试玩 go-socks5

测试环境 centos7 64 安装配置 安装 golang git yum install golang git 设置golang环境变量 export GOPATH=/root/gopath/ export GOROOT=/usr/lib/golang/ GOROOT 是golang安装的目录 如果是yum安装 用rpm查找出安装目录: rpm -ql golang GOPATH gopath可以自己新建个目录,安装的go-socks5会放在 $GOPATH目录中 安装go-socks5 go get github.com/armon/go-socks5 go build 安装成功可以进目录看下 cd $GOPATH/pkg 测试 vim test_gosocks5.go #go-soc...阅读全文

博文 2017-01-17 07:00:03 dworry

[译文] 关于Golang的一个令我深深叹服的特性

自:http://golanghome.com/post/155 [译文] 关于Golang的一个令我深深叹服的特性 原文地址:这里 译文: 翻译By:@jemygraw 补充说明:一些评论的人对本文中的一些内容感到很困惑,但是我不想让大家感到我言语不清,所以在此澄清一下: 是的, 默认情况下,向一个hash表插入的元素是没有固定顺序的。但是因为很多原因,比如有一些帖子就指出了不是所有的map都是hash表(而且有些语言还有有顺序的hash表,比如java的TreeMap), 我还是能够了解为什么很多人(尤其是对Go map实现机制比较了解的人)会假定遍历map元素的顺序和向map插入元素的顺序是相同的。 我原来的例子是我自己想出来的,并没有演示出大多数版本的Go关于这方面的特点(尽管我听说...阅读全文

博文 2014-10-09 16:00:02 leonzhouwei

Pokemon Go 教程

澳大利亚apple id 账号:fdf087469@163.com 密码:He807671626 据说不要登icould,一登就会锁了 将iPhone内部的Appstore ID更改一下。登入AppStore,可以看见AppStore已经自动切换到澳大利亚区,直接搜索Pokemon Go,点击下载。此过程稍微慢点,请各位耐心等待。 pokemon go中国玩家必须懂的教程 下载完先别着急,将刚刚iCloud ID更换成你原来的,再次登入AppStore,已经自动切换到国区(最垃圾的就是国区!!),搜索下载一个VPN,这里我推荐Green VPN或者Tiger VPN,可以免费用10天(感觉爽就付费包月咯)。 pokemon go中国玩家必须懂的教程 下载完VPN,打开VPN软件,会提示设置,...阅读全文

博文 2016-08-30 17:00:06 q8649912

go 读取 ini文件 并修改

go 读取 ini文件 并修改 安装 官方网站 https://ini.unknwon.io/docs/intro/getting_started go get gopkg.in/ini.v1 配置 tmp my.ini main.go my.ini # possible values : production, development app_mode = development [paths] # Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used) data = /home/git/grafana [server] # Protocol (http or ht...阅读全文

博文 2018-12-14 22:35:45 295631788

悲催啦,居然喜欢上Golang

这2天试了试Google的Golang,很有感触,太像C啦,太好用啦~~~~~~~~~~ 居然一下子就喜欢上了,悲催的是,竟然不允许在生产环境上使用(为了确保系统的稳定性),只能拿来游戏游戏一番。爱又得不到,痛苦,更痛苦的是“爱人”天天在眼前晃来晃去的,扰人心神~~~~~~~~~ 就用此博客来做个学习笔记吧~~~~~~~~~~~~~ 防止Go官方网站被X:173.194.79.141 golang.org,你懂的...阅读全文

博文 2014-10-19 09:00:02 dandan.fs

二分查找法(Golang版本)

一组数据要进行二分查找,那么这个要查找的元素是有序,并且是连续存放(数组)。这样才可以进行二分查找。 下面首先来创建一个文件和数组 package main import ( "fmt" "math" ) type DataStruct struct { Data []int } func main() { a1 := DataStruct{[]int{1, 2, 5, 7, 15, 25, 30, 36, 39, 51, 67, 78, 80, 82, 85, 91, 92, 97}} fmt.Println(a1) } 数组a1是一个从小到大的有序数组,总共有18个元素 假设说我要查找30这个值,如果按照循环的查找方法,找到30这个值要执行7次。那么如果是按照二分查找呢?好吧,二分查找的...阅读全文

博文 2017-05-08 03:00:28 Zorn

go get github.com/Shopify/sarama

go get github.com/Shopify/sarama安装失败我在window10系统上安装go get github.com/Shopify/sarama出现了以下问题。unrecognized import path "golang.org/x/crypto/md4": https fetch: Get "https://golang.org/x/crypto/md4?go-get=1": dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or ...阅读全文

博文 2020-04-29 08:32:46 行走的大神

如何离线完成go get——安装Apache Thrift有感

今天公司事情不多,我手上的项目还需要等其他同事才能继续,有一段时间比较闲。之前有3个月不在公司回学校了,我们部门用了一个新的开发工具——Apache Thrift,就趁这个时间了解一下。 准备把Thrift安装到阿里云上面。这个东西大概了解了一下,是Facebook开源的一套远程调用的框架,比目前流行的基于REST传输JSON性能好,更优于基于SOAP的XML。关键是它支持多种语言,当然包括我们Team使用的Golang。 从官网下载压缩包安装有问题,没有官网上面描述的bootstrap.sh文件,还会会报错误。 libtool: link: ar cru .libs/libtestgencpp.a .libs/ThriftTest_constants.o .libs/ThriftTest_...阅读全文

博文 2017-02-09 12:19:51 Bryce

GO语言(golang)切片slice

/*640*60,创建于2013-5-24*/ var cpro_id = "u1290382"; 切片slice是引用类型 len()函数获取元素的个数 cap()获取数组的容量 1.申明方式 [php] (1)var a []int 与数组不同的是他不申明长度 (2)s2 := make([]int, 3, 10) //元素的类型,元素的数量,元素的容量 fmt.Println(len(s2), cap(s2)) 输出元素的数量和容量 [/php] 2.讲数组转换成切片 [php] a := [10]int{} fmt.Println(a) s1 := a[:10] //取前10个元素 [5:]取 5-最后的元素 fmt.Println(s1) [/php] 3.slice测试 [php...阅读全文

Go 语言神奇的 JSON

今天我想和大家分享 Go 语言一些非常实用的技巧,用于编码和解码 JSON 文档。Go 语言的 `encoding/json` 包有一些有趣的特性,帮助我们轻松地解析 JSON 文档。你可以轻松地将大多数实际应用中的 JSON 转换为带有 Go 语言结构体标签的接口或者是 `Marshaler` 和 `Unmarshaler` 接口。 但有一个案例比较棘手:包含转义 JSON 元素的 JSON 文档。如下所示: ```json { "id": 12345, "name": "Test Document", "payload": "{\"message\":\"hello!\"}" } ``` 我不建议构建像这样创建文档的应用程序,但有时候这样的情况是难以避免的,你希望像平常的 JSON 那样...阅读全文

博文 2018-03-19 10:27:46 SergeyChang

销售计划思维导图讲解,绘制软件怎么用

思维导图在商业中的应用十分的广泛,它可以帮助我们发散思维、分析事件 、解决问题。对于市场主管来说,主要可以用来策划营销计划、计划公关活动、策划公司市场活动、管理销售工作等。 本文便来说一说,市场主管如何巧妙运用思维导图来进行营销策划。 市场主管如何巧妙用思维导图进行营销策划营销方案是以销售为目的的计划,指在销售和服务之前对预期目标进行的整体性策划。一般营销方案要对三个方面进行分析,即基本问题、项目市场优劣势和解决问题的方案。思维导图可以用来对产品进行SWOT分析、对整个环境进行PEST分析等。对自己的项目在市场上的情况有一个全面的了解,然后针对性的做出方案。 好的营销方案是需要有创新的,对整体情况有了掌握之后。利用思维导图软件,如MindMaster的头脑风暴功能,可以收集团队的各种创意。 ...阅读全文

软件工程师的大局观

不断的复制粘贴和简单排列组合的人叫码农,明白自己编程设计的人叫软件工程师。 了解 C语言 的过程式,HTML/css/js 的文档声明式,Java/Ruby 的面向对象式,Golang 的组合式和最近看的 Lisp(Scheme) 的函数式这些不同的思维模式让我渐渐明白了:一个优秀的软件工程师应该在基本的计算机知识上,有整体意识,有大局观,在工程中的各个阶段做出最合理的设计决策,注意这里说的是合理,而不是最好,因为工程是为了解放人类脑力和体力。 设计决策大到设计语言选型,数据库,软件架构,网络协议,小到模块设计,类,方法,变量命名。我记得高中有个足球教练说过:一个人会不会踢球,看他踢一脚就够了。 那么问题来了,如何做出合理的设计呢? 对需求的理解 对现实条件的评估 对工程的预期(人月) 平衡...阅读全文

博文 2017-09-29 20:04:58 王安正

golang导包

被坑的体无完肤,特此纪念,不是新手不要看 包结构如图 接下来我们要在main.go中调用myprint2.go中的方法 myprint2.gopackage test import "fmt" func MyPrint2() { fmt.Println("这条信息来自myprint2") } myprint.go package test import "fmt" func MyPrint() { fmt.Println("这条信息来自myprint") } main.go package main import ( "try2/test" ) func main() { test.MyPrint2() } 输出结果 C:/Go/bin/go.exe build -i [E:/goworks...阅读全文

博文 2016-01-29 04:00:01 u012210379

golang切片slice

切片slice是引用类型 len()函数获取元素的个数 cap()获取数组的容量 1.申明方式 (1)var a []int 与数组不同的是他不申明长度(2)s2 := make([]int, 3, 10) //元素的类型,元素的数量,元素的容量 fmt.Println(len(s2), cap(s2)) 输出元素的数量和容量 2.讲数组转换成切片 2 a := [10]int{} 3 fmt.Println(a) 4 s1 := a[:10] //取前10个元素 [5:]取 5-最后的元素 5 fmt.Println(s1) 3.slice测试 1 a := []byte{'a', 'b', 'c', 'd', 'e', 'f', 'h'} 2 sa := a[2:5] 3 fmt.Pri...阅读全文

博文 2015-03-13 03:00:01 chuanheng

Golang语言社区--全网游戏定制解决方案

Golang语言社区-全网游戏定制解决方案 前言 社区从无到有经历漫长的6个月时间,社区的技术主打Golang语言基础及相关网络、存储内容;并没有跟风的去研究docker等前言技术,因为我们Golang社区主打的是游戏相关的技术,可能涉及到go语言及C++游戏服务器的相关技术;社区内容在后面会完全转入到游戏相关的内容,有服务器架构设计,游戏服务器存储解决方案、游戏通信服务器架构设计,游戏服务器快速部署解决方案、游戏服务器架构开源方案等1你有想法,我们团队有技术;为什么不合作?人生就应该多多去实践,而不是想的太多!!!Golang语言社区 寻求产品经理一枚,坐标: 全球(成都最佳)背景要求:至少大型互联网公司工作3年以上,我们要的是大互联网公司的理念,仅此而已。希望相信我们合作可以做的更好,人...阅读全文

博文 2016-10-20 08:00:08 u012798391

Golang中面向对象编程的继承机制解析

本篇文章转自Tim的"Object Oriented Inheritance in Go",原文地址是http://hackthology.com/object-oriented-inheritance-in-go.html 。这个是原文的中文翻译网址http://hackthology.com/golangzhong-de-mian-xiang-dui-xiang-ji-cheng.html 。欢迎大家访问[我的博客](http://zuozuohao.github.io/),代码可以在[@Zuozuohao](https://github.com/Zuozuohao/GolangGOFPatterns)下载。 Golang的面向对象机制与Smalltalk或者Java等传统面向对象...阅读全文

golang在ubuntu-12.04和centos-6.5上的安装

golang官方编译器安装与配置 安装gcc工具,因为golang有些功能是使用c写的,所以构建golang的编译是必须的 $ sudo apt-get install bison gawk gcc libc6-dev make 安装mercurial工具,目的使用hg命令来提取golang的源代码 $ sudo apt-get install mercurial 代取提取,如果您的网速比较慢的话,此步要多花点时间,我是在/home目录下运行下面命令的,也就是说把go源代码下载到了/home/go中 $ hg clone -r release https://go.googlecode.com/hg/ go 编译golang $ cd go/src $ ./all.bash 假如正常的话,会...阅读全文

博文 2014-10-04 19:27:20 壬癸甲乙

golang操作mysql数据库

mysql是一个入门很简单也很实用的数据库,目前也可以跟很多编程语言联合编程。go语言虽然很年轻,但是貌似追赶潮流永远都有它。刚试了下go语言操作mysql数据库,貌似代码量比实用java要少很多,挺爽的。 1.下载驱动 https://github.com/go-sql-driver/mysql 2.将这个包放到code.google.com目录下(放在哪里无所谓,只要你能够让程序找到就行) 3.编写简单的测试程序 package main import ( _ "code.google.com/mysql" "database/sql" "fmt" ) func main() { //format "user:password@tcp(ip:port)/database" db, err...阅读全文

博文 2015-06-21 02:01:09 lxy15329

除了pandownload,你可以试试这款极简型网盘下载神器

hello,大家好,今天小编又发现了一个免费开源的新型的网盘客户端,叫做pan-light。 这款软件的话是基于golang+QT5开发的一个跨平台的图形界面,算是走的一个极简风格。 我们看一下它的界面,这里面你可以直接登录你的账号,而且支持这种多账号之间的快速切换。左边是一个快速导航,例如你经常打开的一些文件夹了,可以添加到这边,一件就可以进入了。正常的这种文件右键可以直接下载,像视频的话它还支持播放,而且支持倍速播放。当然了你也可以选择分享到资源广场了,资源广场的话就是一个大家互相分享资源的地方,而且没有一些什么版权之类的限制,然后在里面互相转存就可以了。 至于它的传输速度的话,官方给的数据是最快可以达到17M每秒,而且支持断点续传,速度控制。小编测试的一个几百兆的文件也跑到了1到2M之...阅读全文

博文 2019-07-10 14:32:43 无知便是罪

go语言环境搭建及vim高亮设置

这个博客是我自己从头开始搭建,在设置语法高亮的时候碰到了很多问题,主要原因嘛,就是网上搜索很多东西,大多都是同样的内容,但是根据这个内容根本搭建不出Go语言的开发环境,为了给大家减少不必要的麻烦,现在我以我搭建的过程给大家讲一下。 我使用的环境是CentOS6.5版,使用的是虚拟机版本,因为可能会经常搭建新的环境,我这里有虚拟机VM10的纯净版系统,下载地址如下:纯净版虚拟机系统 请选择CentOS_64.rar文件 我使用的GO编译器是1.5版本,也是目前最新的版本,下载地址是:下载地址 请选择Go语言开发文件夹,并将里面内容全部下载下来,我的是64位操作系统,如果您是32位操作系统,需要自己下载32位,搭建方法跟64位一模一样 接下来我们开始搭建环境 1. 安装Go语言编译环境 1.1 ...阅读全文

博文 2016-10-13 11:00:04 u012349696

聊聊初创公司的后端语言选型(小众语言)

在创业公司初创伊始,如何选择合适的语言决定了产品后续的技术栈和如何进行合理的业务支撑方向。如果你在读这篇文章之前,更倾向于选择Java/C#/PHP常见语言技术栈,我觉得对于你而言,这篇文章帮助不大。因为对你而言,这些技术栈意味着更加方便招人,更方便的故障处理资料等等。但是如果一个初创公司想要选择合理的小众语言技术栈,我想这篇文章对你也许有一些帮助。 在文章开始之前,我觉得有必要描述一下所谓的小众语言,这里我在最初进行技术选型时,考察了包括: Python: 你可能在接触爬虫、大数据分析等等方面听过Python的大名,大家都知道Pythonista都习惯说的一句话就是:人生苦短,我用Python。 Ruby: 你如果做过Web框架,你遇到最多的是很多人都会提到RoR框架。用过之后只有一个惊叹...阅读全文

博文 2017-02-10 15:45:16 kevin

11:golang UTF8与UTF16互

package main import ( "golang.org/x/text/encoding/unicode" "golang.org/x/text/transform" "fmt" ) func main() { bs_UTF16LE, _, _ := transform.Bytes(unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM).NewEncoder(), []byte("测试")) bs_UTF16BE, _, _ := transform.Bytes(unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM).NewEncoder(), []byte("测试")) bs_U...阅读全文

博文 2020-01-04 00:32:42 陈玉涛

完成比完美更重要?仅知道这句话可不够

导读 都说完成比完美更重要! 软件开发模式经过多年的演化,从传统的瀑布开发模型升级到了敏捷开发模型。 而到了互联网时代,迭代再次加快,产品直接是在互联网上生长。 然而,做产品总是要先出一个版本,再不断迭代,那从0到1的第一步应该怎么走?后续的迭代又应该如何演进呢? 重点笔记 迭代就是小步快跑,把最内核的部分先放出来,不断优化、小范围试错。 版本规划能力是产品经理的重要能力。 判断一个产品经理是否厉害,很重要的一条就是判断他设计的产品第一个版本有多简单、直接、切中要点,能不能直指人心。 产品复杂是因为产品经理不自信,只能从附加功能中找心理安慰。 产品设计应该找到内核,小步快迭代,而不是憋大招。 迭代中,重要的是次序,前一个动作是后一个动作的预动作。 迭代的价值: 对外部,可以快速得到用户的反馈...阅读全文

博文 2018-09-21 23:34:39 海之方

go反射之后接口断言问题

这个问题困扰了我一晚上,但是最终还是被我试出来了。 问题场景: 1.我通过反射获取一个指针的value v := reflect.ValueOf(ptr).Elem() 这个指针指向了一个结构体,因为是指针所有我用了Elem()函数获取了指向的值。 2.因为ptr指针指向的结构体实现了一个接口,所以我用接口断言方法来调用接口的函数。 if _,ok := v.Interface().(XXX);ok{ ... } XXX是我实现的接口,看起来一切都没问题,但是问题来了。 //我用一个接口接收ptr的值 var i interface{} i = ptr if _,ok := i.(XXX);ok{ //ok为true ... } 如上所示,我用反射之前,接口断言没问题。但是v.Interfa...阅读全文

博文 2016-10-11 03:01:26 i冬瓜

golang分解http GET字符参数串到map

来了一串字符串,类似于http GET的URL参数串。不知道"net/url"能解http://www.pic98.com/srs?sessionid=22222&token=3333 这样的串。但是能不能分解 ?sessionid=22222&token=3333 这样的串没试过。其实自己构造个解析也很快的。上代码。 func uri2map(uri string) (map[string]string, error) { m := make(map[string]string) if len(uri) < 1 { // 空字符串 return m, errors.New("uri is none") } if uri[0:1] == "?" { // 有没有包含?,有的话忽略。 uri ...阅读全文

博文 2019-04-04 12:34:39 毛毛v5

一条命令即可将 Vim 配置为功能强大的 IDE

一条命令即可将 Vim 配置为功能强大的 C/C++ IDE 。包括安装不太方便的 YouCompleteMe 插件也是自动安装,并且会自动从官网下载最新版本的 libclang,然后编译 YouCompleteMe 插件需要的 ycm_core library ,这或许是目前为止安装 YouCompleteMe 插件最简单的姿势。 安装: curl -o - https://raw.githubusercontent.com/HmyBmny/vimrc/master/install-vim-plugins | sh 部分插件的使用需要安装一些依赖,诸如 ctags 之类的,具体请参考:https://github.com/HmyBmny/vimrc 支持所有 Linux 平台, Mac 没...阅读全文

博文 2017-02-10 10:27:20 HmyBmny

go反射之后接口断言问题

这个问题困扰了我一晚上,但是最终还是被我试出来了。 问题场景: 1.我通过反射获取一个指针的value v := reflect.ValueOf(ptr).Elem() 这个指针指向了一个结构体,因为是指针所有我用了Elem()函数获取了指向的值。 2.因为ptr指针指向的结构体实现了一个接口,所以我用接口断言方法来调用接口的函数。 if _,ok := v.Interface().(XXX);ok{ ... } XXX是我实现的接口,看起来一切都没问题,但是问题来了。 //我用一个接口接收ptr的值 var i interface{} i = ptr if _,ok := i.(XXX);ok{ //ok为true ... } 如上所示,我用反射之前,接口断言没问题。但是v.Interfa...阅读全文

博文 2016-10-03 03:00:02 i冬瓜

安装goland编辑器

昨日在ubuntu系统中,安装了golang的环境,今天在安装一个比较好用的编辑器来写代码,会提高很大的效率。 ##### 首先从官网下载goland - https://www.jetbrains.com/go/download/#section=linux ##### 解压安装 tar -zxvf xxx.tar.gz sudo mv xxx /opt/goland ##### 建立别名,快速启动 ``` - sudo vim ~/.bashrc 添加 alias goland='nohup sh /opt/goland/bin/goland.sh >/dev/null >/dev/null 2>&1 &' 保存 source ~/.bashrc ``` 在命令行直接输入goland就可...阅读全文

博文 2019-08-19 21:56:27 sooseiy

Go 入门基础

前言 seaconch 最近在学习 Go 语言编程,基础部分还没有看完,不过只看不练,或者之过一遍还是感觉不够牢固,所以决定通过文章来记录、并且梳理一下已了解过的知识。 一.Go基础结构 1.基础 Go 编写的代码文件都以 .go 结尾。 这里假设我们有一个名为: main.go 的文件。 那想要将 main.go 生成一个可执行的应用程序,至少要是如下内容 : package main func main() { } 编译生成 go build main.go 是可以通过的,成功的生成了 main.exe 。 只是这样做并没有任何意义,所以说真正意义上我们要编写一个 Go 程序 至少是下面这样的 : package main import "fmt" func main() { fmt.P...阅读全文

博文 2018-07-07 23:34:52 SeaConch

Hashmap

基本语法 定义hashmap变量 由于go语言是一个强类型的语言,因此hashmap也是有类型的,具体体现在key和value都必须指定类型,比如声明一个key为string,value也是string的map, 需要这样做 var m map[string]string // 声明一个hashmap,还不能直接使用,必须使用make来初始化 m = make(map[string]string) // 初始化一个map m = make(map[string]string, 3) // 初始化一个map并附带一个可选的初始bucket(非准确值,只是有提示意义) m := map[string]string{} // 声明并初始化 m := make(map[string]string) ...阅读全文

博文 2018-11-25 16:34:40 小马哥_Magical

基于Mixin Network的Go语言比特币开发教程 : 用 Mixin Messenger 机器人接受和发送比特币

基于Mixin Network的Go语言比特币开发教程 : 用 Mixin Messenger 机器人接受和发送比特币 在 上一篇教程中, 我们创建了自动回复消息的机器人,当用户发送消息"Hello,World!"时,机器人会自动回复同一条消息! 按本篇教程后学习后完成后,你的机器人将会接受用户发送过来的加密货币,然后立即转回用户。完整代码如下: main.go fpackage main import ( "context" "encoding/base64" "encoding/json" "log" "github.com/MooooonStar/mixin-sdk-go/messenger" mixin "github.com/MooooonStar/mixin-sdk-go/net...阅读全文

博文 2019-03-04 13:34:39 Mixin_Network