
go
这一切没有想象那么糟
游戏开发,数据分析,机器学习,萌娃的爸爸
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
新版 Protobuf API
前言原文作者:Joe Tsai, Damien Neil 和 Herbie Ong原文链接:https://blog.golang.org/a-new-go-api-for-protocol-buffers发布时间:2020-03-02翻译:polaris,Go 语言中文网我们很高兴地宣布,用于 Google 的语言无关数据交换格式 protocol buffers1 的新版 Go ...原创 2020-03-04 09:39:41 · 2010 阅读 · 0 评论 -
RPC
定义什么是RPC远程过程调用(Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。 该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。 如果涉及的软件采用面向对象编程,那么远程过程调用亦可称作远程调用或远程方法调用。用通俗易懂的语言描述就是:RPC允许跨机器、跨语言调用计算机程序方法。打个比方,我用go语言写了个获取...原创 2020-02-28 14:06:00 · 212 阅读 · 0 评论 -
google新操作系统Fuchsia
前言Fuchsia,是由Google公司开发的继Android和Chrome OS之后的第三个系统,已在Github中公开的部分源码可以得知。Google对于Fuchsia的说明是“Pink(粉红)+Purple(紫色)=Fuchsia(灯笼海棠,一个新的操作系统)”。开发语言谷歌新一代开源操作系统 Fuchsia 的开发者网站上公布了一份 Fuchsia 编辑语言策略,文档描述了 C、C+...原创 2020-02-27 15:49:08 · 4350 阅读 · 0 评论 -
golang 并发模型 CSP
前言了解并发和并行的概念:并发:强调一段时间做多件事并行:强调同一时间做多件事actor 模型Actor 模型是一个通用的并发编程模型,可以应用在几乎任何一种编程语言中,典型的是 Erlang。多个 actor(进程) 可以同时运行、不共享状态、通过向与进程绑定的消息队列(也称为信箱)异步发送消息来进行通信。actor-1 与 actor-2 进程通信依赖一个消息队列,而且消息队...原创 2020-02-27 12:11:32 · 1534 阅读 · 0 评论 -
golang 1.14 新特性
前言Go官方团队将在今年2月份发布1.14版本。相比较于之前的版本升级,Go1.14在性能提升上做了较大改动,还加入了很多新特性,我们一起来看一下Go1.14都给我们带来了哪些惊喜吧!性能提升1. defer性能提升package mainimport ( "testing")type channel chan intfunc NoDefer() { ch1 := mak...原创 2020-02-26 18:57:29 · 3404 阅读 · 0 评论 -
centos 安装golang1.14
centos 上安装软件可以用yum,一般不是新版本。主要介绍用第二种办法下载。用yum安装1、用yum指令安装缺点是:不是最新版。使用二进制文件安装【安装】标准官网:https://golang.org/ 需要墙镜像官网:https://golang.google.cn/dl/ 【国内推荐】# 下载文件wget https://dl.google.com/go/go1.14....原创 2020-02-26 16:33:32 · 4921 阅读 · 0 评论 -
go get golang.org/x包 获取失败问题
前言当我们使用 go get、go install、go mod 等命令时,会自动下载相应的包或依赖包。但由于众所周知的原因,类似于 golang.org/x/… 的包会出现下载失败的情况。如下所示$ go get -u golang.org/x/sysgo get golang.org/x/sys: unrecognized import path "golang.org/x/sys" ...原创 2020-02-21 15:06:44 · 770 阅读 · 0 评论 -
golang 错误处理
Go 程序使用 error 值来表示错误状态。与 fmt.Stringer 类似,error 类型是一个内建接口:type error interface { Error() string}(与 fmt.Stringer 类似,fmt 包在打印值时也会满足 error。)通常函数会返回一个 error 值,调用的它的代码应当判断这个错误是否等于 nil 来进行错误处理。i, ...原创 2020-02-19 18:17:31 · 276 阅读 · 0 评论 -
golang Stringer接口
fmt 包中定义的 Stringer 是最普遍的接口之一。type Stringer interface {String() string}Stringer 是一个可以用字符串描述自己的类型。fmt 包(还有很多包)都通过此接口来打印值。package mainimport "fmt"type Person struct { Name string Age int}f...原创 2020-02-19 16:11:18 · 1044 阅读 · 0 评论 -
golang nil接口和空接口
前言接口: 接口类型 是由一组方法签名定义的集合。接口类型的变量可以保存任何实现了这些方法的值。类型通过实现一个接口的所有方法来实现该接口。既然无需专门显式声明,也就没有“implements”关键字。接口也是值。它们可以像其它值一样传递。接口值可以用作函数的参数或返回值。在内部,接口值可以看做包含值和具体类型的元组:(value, type)接口值保存了一个具体底层类型的具体值。...原创 2020-02-19 15:51:08 · 1139 阅读 · 0 评论 -
golang 方法和函数
前言方法和函数的区别方法只是个带接收者参数的函数。他们的区别是在函数对参数的更加严格。指针参数带指针参数的函数必须接受一个指针:var v VertexScaleFunc(v, 5) // 编译错误!ScaleFunc(&v, 5) // OK而以指针为接收者的方法被调用时,接收者既能为值又能为指针:var v Vertexv.Scale(5) // OKp :...原创 2020-02-19 15:19:33 · 333 阅读 · 0 评论 -
GO111MODULE的设置(及GOPROXY)
Go version >= 1.13,直接用go env -w 设置(注意大小写)go env -w GOPROXY=https://goproxy.io,directgo env -w GO111MODULE=on注:可以用go env -u 恢复初始设置;GOPROXY的值应该还可以是https://mirrors.aliyun.com/goproxy/ 或 https://go...原创 2020-02-18 16:31:32 · 11088 阅读 · 1 评论 -
go module
前言在最新版本的golang 1.12默认使用的包管理就是使用go module,之前版本中有各种的包管理的方式,比较混乱,现在统一了。命令初始化创建自己的项目目录,然后在项目目录开始初始化module。mkdir -p /data/codes/project1cd /data/codes/project1go mod init project1这里init后面就是自...原创 2020-02-18 16:08:05 · 127 阅读 · 0 评论 -
解决unknown import path "golang.org/x/sys/unix": unrecognized import path "golang.org/x/sys"
解决unknown import path “golang.org/x/sys/unix”: unrecognized import path “golang.org/x/sys”问题描述当我们使用 go get、go install、go mod 等命令时,会自动下载相应的包或依赖包。但由于众所周知的原因,类似于 golang.org/x/… 的包会出现下载失败的情况。如下所示:$ go ...原创 2020-01-02 18:23:45 · 3237 阅读 · 0 评论 -
golang 反射概念
反射前言类型和接口Golang的反射reflectreflect的基本功能TypeOf和ValueOf从relfect.Value中获取接口interface的信息已知原有类型【进行“强制转换”】未知原有类型【遍历探测其Filed】通过reflect.Value设置实际变量的值通过reflect.ValueOf来进行方法的调用Golang的反射reflect性能小结总结前言Reflection...原创 2019-12-23 14:53:52 · 206 阅读 · 0 评论 -
go开源网络库nano(1)--概论
前言最近感觉自己看书学习的时间太少了,需要补充能量,系统学习些东西。在学习golang,通过github上的这个nano库学习,可以利用golang把之前的业务流程从golang的角度看看。nanogithub:https://github.com/lonng/nano文档是这样介绍的:Nano是一个易于使用、快速、轻量级的游戏服务器网络库。它提供了一个核心网络体系结构以及一系列工具和...原创 2019-12-20 16:56:36 · 2303 阅读 · 0 评论