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

Go - 以任意类型的slices作为输入参数(译)

文:Go – taking slices of any type as input parameters 译者:youngsterxyf 最近参与的一个业余项目,go-linq,让我了解到Go语言的类型系统并不是为任何类面向 对象编程而设计的。没有泛型,没有类型继承,也没有提供任何对这些特性有用的东西。 但是,提供了一个名为interface{}的类型,你可以向其赋予几乎任意类型的值,不会抛出编译错误,就像.NET的Object或Java的Object: var o interface{} o := 3.14 o := Student{Name: "Ahmet"} 我们假设你需要一个可以接收任意类型slices的函数,如果考虑如下这样实现: func Method(in []interfac...阅读全文

博文 2014-11-05 09:52:11 youngsterxyf

做国内的 Docker 的 “灵雀云” 获千万美元级 A 轮融资,未来将进入美国市场

灵雀云向 36 氪独家透漏,近日完成千万美元级 A 轮融资,由宽带资本领投,高榕资本跟投。 如36 氪之前报道,灵雀云在做国内的 Docker 部署平台。 究竟什么是 Docker? 灵雀云CEO 左玥概括到,比起虚拟机来说,容器技术是一种轻量级虚拟化技术,而 Docker 是在容器技术的基础上提供的标准镜像格式。也就是说,Docker 是一个有标准的容器,相当于云计算领域的 “集装箱”,可以承载后端的各种技术。 正如集装箱在运输领域起到的作用,本来运输的人是要在各种运输工具上装载各种东西的,而有了集装箱之后,只需要把东西放在集装箱里面,运输工具承载集装箱就可以了。同样的道理,之前运维人员要直接面对各种环境进行部署,如今在 Docker 这个 “集装箱” 里部署就可以...阅读全文

go-mysql,一个易用的mysql接口框架实现

介绍 go-mysql是一个用go写的mysql driver,使用接口类似于go自身的database sql,但是稍微有一点不同,现阶段还不支持集成进go database/sql中,但实现难度并不大,后续可能会接入。 go-mysql最先开始于mixer(一个用go实现的mysql proxy)中,随着mixer的演化,我觉得有必要将其mysql模块独立出来使用。对于mixer,后续我会详细介绍。 为什么要自己实现一套新的接口,而不是go自身的sql接口呢?最主要的原因在于我很不习惯使用Query的查询方式。go自身的query例子: age := 27 rows, err := db.Query("SELECT name FROM users WHERE age=?", age) i...阅读全文

博文 2014-10-15 00:19:21 siddontang

程序员在家办公挣得更多

程序员在家办公挣得更多 --- 对于程序员来说,凭借自身的技能和经验,外加一些简单的IM沟通,就可以独立完成工作,只要需求明确,那么和其他人面对面沟通的必要性是很有限的。 所以,已经有很多程序员辞职成为自由职业者,边旅游边工作。他们时间自由的同时,财务也更加自由:有数据显示,自由开发者获得的平均报酬要比那些在办公室工作的开发者高出40%。 这些自由开发者在靠谱的IT众包平台上寻找适合自己的任务,完成在线合同和交付任务等一系列交易环节,过程无需任何线下操作,第三方平台完全保证交易双方的利益。只要完成需求方的开发任务,就可以得到相应的报酬。 --- **IT开发众包平台是如何保证程序员安全云工作的?** 拿“[云沃客][1]”网站为例,IT众包流程如下: ![1....阅读全文

程序员在家办公挣得更多

**程序员在家办公挣得更多** --- 对于程序员来说,凭借自身的技能和经验,外加一些简单的IM沟通,就可以独立完成工作,只要需求明确,那么和其他人面对面沟通的必要性是很有限的。 所以,已经有很多程序员辞职成为自由职业者,边旅游边工作。他们时间自由的同时,财务也更加自由:有数据显示,自由开发者获得的平均报酬要比那些在办公室工作的开发者高出40%。 这些自由开发者在靠谱的IT众包平台上寻找适合自己的任务,完成在线合同和交付任务等一系列交易环节,过程无需任何线下操作,第三方平台完全保证交易双方的利益。只要完成需求方的开发任务,就可以得到相应的报酬。 --- **IT开发众包平台是如何保证程序员安全云工作的?** 拿“[云沃客][1]”网站为例,IT众包流程如下: ...阅读全文

go-mysql,一个易用的mysql接口框架实现

go-mysql是一个用go写的mysql driver,使用接口类似于go自身的database sql,但是稍微有一点不同,现阶段还不支持集成进go database/sql中,但实现难度并不大,后续可能会接入。 go-mysql最先开始于mixer(一个用go实现的mysql proxy)中,随着mixer的演化,我觉得有必要将其mysql模块独立出来使用。对于mixer,后续我会详细介绍。 有博文进行较详细的介绍:[go-mysql,一个易用的mysql接口框架实现](http://studygolang.com/articles/1422...阅读全文

go-mysql,一个易用的mysql接口框架实现

介绍 go-mysql是一个用go写的mysql driver,使用接口类似于go自身的database sql,但是稍微有一点不同,现阶段还不支持集成进go database/sql中,但实现难度并不大,后续可能会接入。 go-mysql最先开始于mixer(一个用go实现的mysql proxy)中,随着mixer的演化,我觉得有必要将其mysql模块独立出来使用。对于mixer,后续我会详细介绍。 为什么要自己实现一套新的接口,而不是go自身的sql接口呢?最主要的原因在于我很不习惯使用Query的查询方式。go自身的query例子: age := 27 rows, err := db.Query("SELECT name FROM users WHERE age=?", age) i...阅读全文

博文 2014-10-04 19:26:26 siddontang

服务网格大比拼:Istio、Linkerd、Linkerd2和Consul

Linkerd 我在DC / OS上广泛使用了Linkerd并且非常喜欢它。然而,时代已经发生变化,并且有一些基本问题导致这对Kubernetes来说完全是死路一条。 Linkerd是用JVM语言编写的,这意味着每个节点代理程序的占用空间为110mb +内存。当你每个主机只运行一个节点代理时,这不是太糟糕,但是世界正在转向每个pod代理边车,我想每个人都意识到这属于太多的开销。 Linkerd也不代理TCP请求,也不支持websockets。 应付大规模访问时,Linkerd拥有绝对惊人的流量控制它也是支持连接集群外部的两个服务网格之一。 Linkerd2 Linkerd2使用Golang和Rust完全重写了Linkerd,专门用于Kubernetes。不幸的是,与每次重写一样,你从功能和稳...阅读全文

博文 2019-05-31 13:34:43 旧巷听雨枫染晨

前端工程师如何成为全栈工程师?

前端工程师如何成为全栈工程师?这里有一个概念我们先要搞清楚,前端工程师做什么?全栈工程师又做什么? 人的精力是有限的,一个人不可能什么都懂。离开了项目本身,去谈全栈工程师还是前端工程师后端工程师,意义并不大。因为你会的再多,用不上也是没用的,技术更新很快,你一两年不用也就过时了。 如果力求什么都懂,那有可能都做不好。一旦产生比较沮丧的情绪,特别不利于自己的工作。 我们现在来分析一下,前端工程师和全栈工程师的工作内容。由于篇幅有限,我们只用一种编程语言JavaScript,作为主要的例子说明语言。 如果你是做网络程序,那网页这一部分是一定要写的啦。这一部分你至少要懂标记语言html, 脚本语言JavaScript,也要懂css。 做好一个产品级的,你还要懂一些前端的架构,比如说你选择Angul...阅读全文

博客开张

入行做码农两年,也没个像样的博客。近期换了工作,即将入职,也要从java转到golang,所以觉得应该开个博客,记录一下平时的学习心得。离职是二月底,当时觉得前家公司管理流程混乱、需求不明确,人员配备上也有问题,以至于正常的开发工作和迭代都很难推荐。也可以预见到以后会出大问题。离职后休息了一个月,散漫的看了些技术书。以前都是遇到问题就百度,用完就忘,积累的知识少之又少。系统的看看书很有帮助。但对于面试的作用其实并不大,因为看书看的很泛泛,面试常用的知识点散落在里面,并不会记忆很深刻。一个月后,和好友去了趟曼谷/芭提雅,玩了一周,累却很开心。泰国东西便宜,吃的好吃。回来又准备了一周,开始面试。一开始都是猎头推荐以及内推的职位。有些时候猎头对于职位匹配度的判断还是有些不准的,所以一开始面试邀约特...阅读全文

博文 2017-09-29 19:04:57 圣代先森

golang中一个interface类型潜在问题

package main import ( "errors" "fmt" "log" ) func main() { var e interface{} e = func() error { return errors.New("err") }() if e != nil { fmt.Printf("%T\n", e) log.Println(e) } fmt.Println(e) } 输出内容: *errors.errorString 2019/01/05 18:54:43 err err 这边很容易将e的类型误认为是error,但是实际运行中却被转换成*errors.errorString...阅读全文

博文 2019-01-05 21:34:47 laijh

leetcode_43

Golang: 思路:模拟大数乘法,实现麻烦,实现难度并不大 代码如下: func multiply(num1 string, num2 string) string { if num1[0]=='0'||num2[0]=='0'{ return "0" } bytes1:=[]byte(num1) bytes2:=[]byte(num2) res:="0" s:="" for i:=len(num2)-1;i>=0;i--{ var temp strings.Builder temp.WriteString(s) s+="0" n:=0 t:=int(bytes2[i]-'0') if t!=0{ for j:=len(num1)-1;j>=0;j--{ mu:=t*int(bytes1[...阅读全文

博文 2020-03-20 21:32:44 淳属虚构