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

【GoLang笔记】浅析Go语言Interface类型的语法行为及用法

Go不是一种典型的OO语言,它在语法上不支持类和继承的概念。 没有继承是否就无法拥有多态行为了呢?答案是否定的,Go语言引入了一种新类型—Interface,它在效果上实现了类似于C++的“多态”概念,虽然与C++的多态在语法上并非完全对等,但至少在最终实现的效果上,它有多态的影子。 那么,Go的Interface类型到底是什么呢?怎么使用呢?这正是本篇笔记试图说明的问题。 1. Method(s) in Go 在说明Interface类型前,不得不先用Go的method(s)概念来热身,因为Go语言的interface与method(s)这两个语法有非常紧密的联系。 虽然Go语言没有类的概念,但它支持的数据类型可以定义对应的method(s)。本质上说,所谓的method(s)其实就是函数...阅读全文

博文 2015-03-23 11:00:06 slvher

<三> go 枚举

在go语言中,没有直接支持枚举的关键字,也就造成go没有直接枚举的功能。但是go提供另一种方法来实现枚举,那就是const+iota // 实现枚举例子 type State int // iota 初始化后会自动递增 const ( Running State = iota // value --> 0 Stopped // value --> 1 Rebooting // value --> 2 Terminated // value --> 3 ) func (this State) String() string { switch this { case Running: return "Running" case Stopped: return "Stopped" default:...阅读全文

博文 2015-11-20 09:00:01 a11101171

Go语言中的单引号、双引号、反引号

=Start= 搜索关键字: golang single quotes golang double quotes golang back quotes 参考结果: 结论写在最前:在Go语言中不倾向于使用单引号来表示字符串,请根据需要使用双引号或反引号。 一个Go语言字符串是一个任意字节的常量序列。Go语言的字符串类型在本质上就与其他语言的字符串类型不同。Java的String、C++的std::string以及python3的str类型都只是定宽字符序列,而 Go语言的字符串是一个用UTF-8编码的变宽字符序列,它的每一个字符都用一个或多个字节表示 。 Go语言中的字符串字面量使用 双引号 或 反引号 来创建 : 双引号用来创建 可解析的字符串字面量 (支持转义,但不能用来引用多行); 反引...阅读全文

博文 2016-06-16 13:00:15 diegodu

go语言25个关键字总结

var和const :变量和常量的声明 var varName type 或者 varName : = value package and import: 导入 func: 用于定义函数和方法 return :用于从函数返回 defer someCode :在函数退出之前执行 go : 用于并行 select 用于选择不同类型的通讯 interface 用于定义接口 struct 用于定义抽象数据类型 break、case、continue、for、fallthrough、else、if、switch、goto、default 流程控制 chan用于channel通讯 type用于声明自定义类型 map用于声明map类型数据 range用于读取slice、map、channel数...阅读全文

博文 2014-10-04 19:26:29 T_star

golang中defer的执行

golang中defer的执行 大家都知道golang的defer关键字,它可以在函数返回前执行一些操作,最常用的就是打开一个资源(例如一个文件、数据库连接等)时就用defer延迟关闭改资源,以免引起内存泄漏。例如: func do() (ok bool) { file,_ := os.Open("c:\a.txt") defer file.Close() // doSomething return ok } 我们可以在官方的文档中看到defer的执行顺序是逆序的,也就是先进后出的顺序: for i := 0; i < 5; i++ { defer fmt.Printf("%d ", i) } 打印结果是:4,3,2,1,0 那么再看这个例子: func deferRet(x,y int) ...阅读全文

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

golang阿里云的goproxy的使用

这个地址(https://goproxy.io/)的powershell的环境变量配置应该这样:$env:GO111MODULE="on"$env:GOPROXY="https://mirrors.aliyun.com/goproxy/"给等号右边的值加上双引号 阿里云的goproxy: http://mirrors.aliyun.com/goproxy/ 在环境变量里设置,不用每次都敲命令新开一个powershell窗口,可以看到这2个环境变量已经持久化...阅读全文

博文 2019-07-17 20:03:50 EDELWEISS_21g

go - 继承

1 方法的继承 在go中没有继承的关键字,但是我们可以通过interface这个类型做出继承的效果,看如下代码,Car就继承了Start和Stop这两个方法 import ( "fmt" ) type Engine interface { Start() Stop() } type Car struct { Engine } func (this *Car) Start() { fmt.Println("Car->Start()") } func main() { fmt.Println("Start Main func()") car := new(Car) car.Start() } 2 成员变量的继承 相当与定义Person人这个类,然后定义男人Man继承人的姓名,年龄这个两个成员属性...阅读全文

博文 2015-11-16 17:00:01 a11101171

golang 中的 type switch 类型判断

golang 语言中 也有 类是 javascript 的 typeof 判断类型的 方法 比如 func (a interface{}){ //第一种 if inst,ok:=a.(TypeA);ok{ inst.MethodA() } //第二种 switch inst:=a.(type){ case TypeA: inst.MethodA() default: fmt.Println("unknow") } } a可能是任意类型 a.(某个类型) 返回两个值 inst 和 ok ,ok代表是否是这个类型,Ok如果是 inst 就是转换后的 类型 a.(type) type是关键字 结合switch case使用 TypeA(a) 是强制转...阅读全文

博文 2014-10-04 19:26:55 健哥大人

Golang 简单的启用一个线程

// code by shaoyongyang package main import ( "fmt" "time" ) func say(s string) { fmt.Println(s) } func main() { go say("who are you?") go say("who are you?1") fmt.Println(2) time.Sleep(1e9) } 好吧,我之前都在想为什么say方法里面没有任何输出,查了很多资料后发现,是因为程序已经结束运行了,启动的线程还在运行。 在最后面加入线程休眠时间就可以了。 启用一个线程仅仅 go say("see i am new thread") ,仅仅使用go关键字即...阅读全文

博文 2015-02-01 08:00:01 未来还没来

Golang分布式唯一ID生成库go-snowflake

[![GuaikOrg/go-snowflake](https://gitee.com/GuaikOrg/go-snowflake/widgets/widget_card.svg?colors=ffffff,1e252b,323d47,455059,d7deea,99a0ae)](https://gitee.com/GuaikOrg/go-snowflake) # ❄️ GO-Snowflake ## Snowflake简介 在单机系统中我们会使用自增id作为数据的唯一id,自增id在数据库中有利于排序和索引,但是在分布式系统中如果还是利用数据库的自增id会引起冲突,自增id非常容易被爬虫爬取数据。在分布式系统中有使用uuid作为数据唯一id的,但是uuid是一串随机字符串...阅读全文

Golang字符串格式化

Golang字符串格式化 package main import "fmt" type point struct { x, y int } func main() { // 格式化整型,使用`%d`是一种 // 标准的以十进制来输出整型的方式 // 有符号十进制整数(int)(%ld、%Ld:长整型数据(long),%hd:输出短整形。) fmt.Println("=====%d,输出十进制====") fmt.Printf("%d\n", 110) //Output: 110 // 输出整型的二进制表示方式 fmt.Println("=====%b,输出二进制====") fmt.Printf("%b\n", 110) //Output: 1101110 // 输出整型数值所对应的字符(c...阅读全文

空接口(interface {})类型判断

空接口可以存储任意类型的数据,当需要判断到底是何种类型时,可以使用以下方法。 1 直接断言 比如我们收到一个类型为interface{}的变量unknown,可以通过如下代码直接断言是否为string类型: val, ok := unknow.(string) 如果返回ok为true,则变量unknown为string类型,同时返回一个val存储string类型的值。如果我们确定unknown为string类型,也可以不返回ok变量,直接强转获取其值: val := unknow.(string) 但是使用这种方法有一定的风险,如果不是string类型,会发生panic: panic: interface conversion: interface {} is int, not string...阅读全文

博文 2019-08-01 21:02:45 moonbamboo

「3306π」社区北京站,新技术新玩法

2019新的一年,新的开始3306π社区第一站北京站,拉开了帷幕活动时间:2019年3月23日 09:00-18:30活动地址:北京市朝阳区望京东园四区9号楼阿里中心A座20层培训室(地铁:15号线望京东站C口) 本次技术交流特色专项培训和主题交流“双响炮”MySQL圈子的聚会,你学习知识,阿里出场地,3306π组局本次会议安排如下嘉宾 上午培训安排 适合人群: MySQL DBA, 开发人员培训前准备: 携带笔记本电脑 提前加入群领取资料准备环境 培训人数:限30人大家如果感兴趣,别犹豫抓紧时间报名啊《基于Raft的MySQL高可用组件Xenon实战》 吴炳锡 Xenon的介绍及特点 业界高可用实现区别对比 Xenon的raft实现 Xenon部署及使用 对Xenon使用上的一些想法 从实...阅读全文

博文 2019-03-06 17:34:45 3306pai社区

Golang关键字—— if/else

Golang中,if/else 关键字用于条件判断,如果满足条件就做某事,否则做另一件事: if age >= 18 { fmt.Println("成年人") } else { fmt.Println("未成年") } 多重判断: if score >= 90 { fmt.Println("优秀") } else if score >= 70 { fmt.Println("良好") } else if score >= 60 { fmt.Println("一般") } else { fmt.Println("差") } Golang允许在条件判断语句里声明一个变量,该变量的作用域只在该条件逻辑块内: if score := 40; score >= 90 { fmt.Println("优秀:...阅读全文

博文 2015-05-21 10:00:00 nianhua

c语言客户端与golang服务端通信(网络字节序)

网络二进制数据转换: 总所周知,数据在tcp网络传输协议中传输的字节序是大端模式的,换句话说如果你要传输一个int32型的整数,那么假设其二进制小端模式表示为11111111111111110000000000000000那么其大端模式表示为00000000000000001111111111111111,利用c语言的htonl函数会将数据字节序转换成大端模式,在网络上面传输,接收端想解出原始数据只需要认为发送来的数据是大端模式,按照大端模式表示的数据解析便可 举个例子: 在C语言端发送一个int32_t数据过程如下: 发送端(c语言) char buf[100]; int32_t x = 100; ((int*)buf)[0] = htonl(x); send(clientfd, buf,...阅读全文

博文 2016-02-26 03:00:01 candycloud

Golang的单引号、双引号与反引号

Go语言的字符串类型string在本质上就与其他语言的字符串类型不同: Java的String、C++的std::string以及Python3的str类型都只是定宽字符序列 Go语言的字符串是一个用UTF-8编码的变宽字符序列,它的每一个字符都用一个或多个字节表示 即:一个Go语言字符串是一个任意字节的常量序列。 Golang的双引号和反引号都可用于表示一个常量字符串,不同在于: 双引号用来创建可解析的字符串字面量(支持转义,但不能用来引用多行) 反引号用来创建原生的字符串字面量,这些字符串可能由多行组成(不支持任何转义序列),原生的字符串字面量多用于书写多行消息、HTML以及正则表达式 而单引号则用于表示Golang的一个特殊类型:rune,类似其他语言的byte但又不完全一样,是指:码...阅读全文

博文 2017-02-09 08:16:17 wiowei

Golang实现简单tcp服务器04 -- 服务器的粘包处理

服务器的粘包处理 什么是粘包 一个完成的消息可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这个就是TCP的拆包和封包问题 TCP粘包和拆包产生的原因 应用程序写入数据的字节大小大于套接字发送缓冲区的大小 进行MSS大小的TCP分段。MSS是最大报文段长度的缩写。MSS是TCP报文段中的数据字段的最大长度。数据字段加上TCP首部才等于整个的TCP报文段。所以MSS并不是TCP报文段的最大长度,而是:MSS=TCP报文段长度-TCP首部长度 以太网的payload大于MTU进行IP分片。MTU指:一种通信协议的某一层上面所能通过的最大数据包大小。如果IP层有一个数据包要传,而且数据的长度比链路层的MTU大,那么IP层就会进行分片,把数据包分成托干片,让每一片都...阅读全文

博文 2015-06-02 23:00:16 victoriest

golang笔记-注释-标识符

Go语言注释 行注释://xxxxxx 块注释:/* xxxxxx */ Go语言关键字,严格区分大小写。 1.break 2.default 3.func 4.interface 5.select 6.case 7.defet 8.go 9.map 10.struct 11.chan 12.else 13.goto 14.package 15.switch 16.const 17.fallthrough 18.if 19.range 20.type 21.contiue 22.for 23.import 24.return 25.var Go语言预定义标识符 1.append 2.bool 3.byte 4.cap 5.close 6.complex 7.complex64 8.compl...阅读全文

博文 2016-04-09 23:00:01 golangerblog

双线虚拟主机为何那么火?优势在哪?

在说优势之前先简单科普一下什么是双线虚拟主机,双线虚拟主机又称为智能双线虚拟主机和智能双线网站空间,它能解决国内南北方电信和网通用户互联互通的问题特推出的智能双线虚拟主机服务。 从分类上看双线虚拟主机包括单IP地址单网卡、双IP地址单网卡和双IP地址双网卡等三种类型。其中单网卡双IP和双网卡双IP两种都有一个电信IP地址和一个网通IP地址。电信用户访问电信IP地址,网通用户访问网通IP地址,这样才能实现电信网通快速访问。 我们都知道南电信、北联通,国内线路分为电信和联通。在线路的访问上,电信用户、联通用户互访速度都比较快,而两大运营商之间互相访问则速度会比较慢。如果你的主机只有一条线路,那么网站就有可能因为线路的问题,在国内有的地区打开速度可能会很慢。访问过来的用户会以为是网站的...阅读全文

golang interface用法

接口是一个或多个方法签名的集合,任何类型的方法集中只要拥有与之对应的全部方法,就表示它"实现"了该接口无须在该类型上显式添加接口声明。 所谓对应方法,是指有相同名称、参数列表 (不包括参数名) 以及返回值。当然,该类型还可以有其他方法。(1)接口命名习惯以er结尾结构体。(2)接口只有方法签名,没有实现。(3)接口没有数据字段。(4)可在接口中嵌入其他接口。(5)类型可实现多个接口。 下面举个栗子:用例:一个人,他的有两种角色,在公司是程序猿,在家里是孩他爸。在公司当程序猿时就写bug,在家当爹时就洗尿布。则其接口和结构体的映射关系为: package main import "fmt" type CodeMonkey interface { codingEveryday() string ...阅读全文

博文 2014-10-04 19:27:27 Estone

golang汉字转拼音

1、为什么造轮子?同事在开发过程中需要用到敏感词过滤检查,其中一个功能就是拼音搜索,需要用到汉字转拼音,然后网上找了这么一个库,首先感谢他对汉字转拼音的贡献,对golang源码的贡献。然后我们的golang执行文件编译后启动速度慢了100倍,经过逐一排查后发现原来是这个库导致的,于是便有了这么一个造轮子的过程。2、源码源码地址3、使用demo添加引用import( "github.com/cao-guang/pinyin" )初始化调用func main() { pinyin.LoadingPYFileName("./data/pinyin.txt") //这里是字典文件路径程序启动调用一次,载入缓存 //demo str1, err := pinyin.To_Py("汉字拼音", "", ...阅读全文

博文 2019-10-10 10:14:57 cao-guang

golang expected declaration, found 'IDENT'

这个问题是因为:=只能在函数内部使用,如果声明全局变量需要使用var关键字 例如 func foo() { id := 1 } 如果声明为全局变量则需要这样声明 var id = 1 PS:Go中引入:=是为了减少一些临时变量的定义,所以一个好的习惯是:=只用来声明临时变量,对于一个函数中常用的变量还是使用var进行声明。 附: Short_variable_declarations $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('

博文 2015-12-12 17:00:01 jiaolongdy

golang channel缓冲区阻塞

常见双通道channel使用: c2 := make(chan int, 2) c2 <- 1 c2 <- 2 c2 <- 3 fmt.Println(<-c2) fmt.Println(<-c2) fmt.Println(<-c2) 由于channel大小只有2个,在c2<-3那里一定会阻塞,然后程序一直阻塞下去死掉 程序报错:fatal error: all goroutines are asleep - deadlock! 改进方法:1、增大channel的大小 2、同步执行改成异步执行 (因为只有先执行c2<-3才能执行取<-c2数据) 所以以后如果有使用channel的大的场合,用池子进行公共管理要注意这些阻塞问题 c2 := make(chan int, 2) c2 <- 1 c...阅读全文

博文 2015-07-24 16:00:01 webyh

Go学习笔记:interface

Go不是一种典型的OO语言,它在语法上不支持类和继承的概念。 没有继承是否就无法拥有多态行为了呢?答案是否定的,Go语言引入了一种新类型—Interface,它在效果上实现了类似于C++的“多态”概念,虽然与C++的多态在语法上并非完全对等,但至少在最终实现的效果上,它有多态的影子。 那么,Go的Interface类型到底是什么呢?怎么使用呢?这正是本篇笔记试图说明的问题。 1. Method(s) in Go 在说明Interface类型前,不得不先用Go的method(s)概念来热身,因为Go语言的interface与method(s)这两个语法有非常紧密的联系。 虽然Go语言没有类的概念,但它支持的数据类型可以定义对应的method(s)。本质上说,所谓的method(s)其实就是函数...阅读全文

博文 2015-11-09 16:00:03 qdx411324962

阿里云面向企业效率的云上产品全解析:云桌面、云AP、云投屏

一、云桌面 重新定义云计算时代的桌面服务 2017年10月12日的杭州云栖大会上,阿里云副总裁李津做了“云之深处”的阿里云新品发布主题演讲,在演讲中,李津认为在数字化时代,商业的效率将指数级提升,而智能技术的发展,也将给企业与客户的交互带来巨大的变化,为了帮助企业在数据化时代领跑商业前沿,阿里云推出了面向企业效率的云上产品栈,云桌面,就是其中的一个重要产品。 阿里云桌面是部署在公有云上的桌面系统,用户可以用多种设备登陆云端的PC桌面,实现云端办公。同时云桌面解决了管理、部署、运维、资源弹性、高可用、数据安全、成本优化等问题。 虚拟桌面的首要特点是快速便捷,可以快速创建桌面环境,而管控与运维则统一在云端进行。这意味着,使用虚拟桌面的企业可以节省成本,快速交付...阅读全文

Go在Windows下编译环境搭建

想偷懒而不得,实验楼有1个小时的环境限制,搭建Go编译环境。主机系统:Win7 32bit 在https://golang.org/dl/ 下下载Go,我下载的是go1.8.3.windows-386.zip。 Paste_Image.png 解压到相应文件目录(C:\MyProgram),添加环境变量,在环境变量Path中加入 C:\MyProgram\bin;新建环境变量GOROOT,内容为C:\MyProgram;新建环境变量GOPATH,内容为Go语言开发的项目路径。在命令行中输入go env查看GO环境变量设置,结果如图 Paste_Image.png 到这Go的环境就已经搭建起来了。 为了方便编程,进一步搭建环境。1、安装Vim(也可以不安装,使用ultraEdit、nodepa...阅读全文

博文 2017-05-28 16:07:42 Mitch1990

golang-http 请求---设置header与直接发

背景 现在各种软件到处都是,写代码难免有时候需要http 调用其他的接口。 其实这个东西还挺常用,虽然很简单,但是写的时候 又忘,就像是提笔忘字,索性总结一下吧。 不需要设置header属性的http 请求 那就直接发,简单快捷不拖沓。 http GET请求 resp, err := http.Get("http://abced.com/" + "/user/false/lsj") if err != nil { t.Log("query cluster failed", err.Error()) t.FailNow() } defer resp.Body.Close() var serviceResp ServiceResp respByte, _ := ioutil.ReadAll(re...阅读全文

博文 2019-08-02 21:32:38 名白

golang中的接口与继承

接口 interface是关键字; 接口的力量:interface是只要你实现了接口定义的类型(方法),就可以作为接口的实例拿来用,在语言层面上不再需要其它的约束。 继承 在结构体中嵌入匿名类型成员,就可以继承匿名类型的方法。 不仅可以嵌入匿名类型成员,还可以嵌入匿名的接口,或者匿名的指针对象,是一种纯虚继承,继承的只是接口的规范,而实现还得靠自己...阅读全文

博文 2019-02-10 21:34:44 areece

golang post 传参

如果某个属性是String 类型,data数据块中需要传字符串类型,不能传整型。 如果某个属性是int类型,data数据块中的属性需要传int类型,不能传字符串。否则默认为0. json字符串需要属性名用双引号包围 golang 属性需要首字母大写,才能在外面被访问到...阅读全文

博文 2016-11-13 21:00:02 u012576527

从例子中学习 go 语言 —— 基本语法

go 语言或是 golang 官网上有个 tour。从例子中学习一门语言虽然具有片面性,但是往往是一个入门的好方法;如果一开始就去是看手册的话,有些凌乱,摸不着头脑,有点看字典的味道。所以,先从例子中学习,然后再系统的学习,应该是个不错的方法。 本篇文章基本按照 tour 的步骤,跑跑例子,从例子中去猜测/分析 go 的语法以及结构等,一定程度上可以锻炼一下,观察和分析能力。 hello,world: package main import "fmt" func main() { fmt.Println("hello,world") // 输出 hello,world } 1). package 将程序打包; 2). import 导入其他包,包名用双引号引住;fmt 包 —— 应该是 fo...阅读全文

博文 2014-10-04 19:25:56 wuwenxiang91322

golang生成JSON及解析JSON

一、JSON解析到结构体 在介绍这部分之前先简要介绍一下Json语法 JSON 语法是 JavaScript 语法的子集。JSON 语法是 JavaScript 对象表示法语法的子集。 数据在名称/值对中 数据由逗号分隔 大括号保存对象 中括号保存数组 1.JSON名称/值对 "name" : "value" 2.JSON值 可以是: 数字(整数或浮点数) 字符串(在双引号中) 逻辑值(true 或 false) 数组(在中括号中) 对象(在大括号中) null JSON数据 JSON 数字可以是整型或者浮点型 { "age":30 } JSON对象 JSON 对象在大括号({})中书写: 对象可以包含多个名称/值对: { "name": "runoob", "alexa": 10000, ...阅读全文

博文 2019-02-24 17:34:42 不屈真实

Macbook Pro上运行windows to go

今年一咬牙入手了台Macbook Pro,操作系统为Sierra,其他都还满意,无奈当时为节约成本硬盘配置只有128G。一般来讲,128G对于上网、娱乐以及编程够用,但是工作上需要安装visual studio开发环境,虽然vs2017也提供了mac版,实在是不喜欢mac vs的风格。接下来有两个选项: 安装虚拟机 在虚拟机里配置win10,然后安装vs,但是有个问题,虚拟机虽然切换比较方便,对资源比如内存的占用不可不忽视,作为入门级的macbook还是要慎重; 安装双系统 安装双系统,苹果公司已经考虑到windows的强势,主动提供了安装工具bootcamp助理,可以将win10安装在本地,启动时选择运行mac还是win10,但是问题还是自带硬盘太小,装完win10后所剩无几。 自然而然想...阅读全文

博文 2017-09-06 22:31:02 topsun888

【语言笑话】一个顾客走进一家牛排店,要一块牛排

一个顾客走进一家牛排店,要一块牛排: C:服务员牵来一头牛,给了顾客一把大刀,笑道,请享用! C++:服务员牵来一头牛,给了顾客主厨刀、削皮刀、剔骨刀、片刀、砍刀、美工刀……堆满在桌上,笑道,请享用!顾客一脸懵逼,但看到邻桌的老大爷用挥舞双截棍的姿势使用美工刀切出一块完美的牛排,于是也模仿起来。后来他住院了。 Java:服务员端上牛排和餐具,顾客正要享用,服务员开始介绍吃牛排的步骤,事无巨细,喋喋不休,说了三个小时顾客才能开始切牛排。 还是 Java:服务员端上牛排和餐具,笑道,请享用!顾客吃了起来。吃得正开心,突然服务员大吼一声,停!一队清洁工走到顾客身边开始打扫卫生,吸地擦桌,好不热闹,过了好一会儿,服务员才说,请继续享用! C#:这间餐馆和之前某家看起来一...阅读全文

关于Go语言中defer关键字

在Go语言中,defer语句会在该函数结束的时候被调用,即使后面的语句运行时出现异常了defer语句仍然会被执行。 需要注意的是,如果defer语句中引用了参数,则该参数的值将是程序到defer这一行的时候的值,而与后面的语句没有关系。 以下为简单测试: package main import "fmt" func main() { func_b_0() func_b_1() func_b_2() } func func_b_0() { fmt.Println("func_b_0...top") a := 5 defer fmt.Println("a=", a) a++ } func func_b_1() { fmt.Println("func_b_1...top") a := 5 defe...阅读全文

博文 2015-06-17 23:00:51 books1958

成都招聘Golang人才

公司一个项目,全采用Golang语言,触及高并发、海量数据、人工智能等技术,现需要大量人才!人才!人才! 待遇丰厚(根据能力范围12K~18K)、不打卡、电脑高配双屏、休息/运动皆配备 重点是还有项目收入提成!提成!提成!别小看提成,我们赚的是$,提成转换翻6倍+ 有意向的朋友可发送简历到 ohko@qq.com ,谢...阅读全文

golang 中的 regexp 包

正则语法 google/re2 Printf 语法 几个函数方法 名称 说明 备注 Match 验证正则表达式是否匹配 []byte - MatchString 验证正则表达式是否匹配 string - FindAllString Regexp的方法,匹配字符串,返回匹配结果组成一个 []string。限定参数 -1表示不限定,其它表示限定。 - FindAllStringSubmatch Regexp的方法,返回一个 [][]string - 示例 MatchString func MatchString(pattern string, s string) (matched bool, err error) matched, err := regexp.MatchString("foo.*...阅读全文

博文 2017-07-09 06:03:51 中柠檬

双管齐下,VMware的容器新战略

![alt 文本](http://blog.tenxcloud.com/wp-content/uploads/2015/09/%E5%8F%8C%E7%AE%A1%E9%BD%90%E4%B8%8B-300x155.jpg) VMware在本周的年度VMworld大会上为容器技术推出了一个双管齐下的技术。VMware vSphere Integrated Containers,这是现有vSphere产品的翻新,能够让Docker容器在vSphere VM内运行;而新的VMware Photon Platform是专为定制的Linux环境中运行容器。 通过这种双重策略,VMware希望留住那些想在生产环境中采用容器技术的客户群,同时为“container-first、cloud-f...阅读全文

配置go语言vim

Go语言自带vim 的语法高亮文件。 1: 开启vim语法高亮 vim ~/.vimrc syntax on set fencs=utf-8,gbk 2:将/usr/local/go/misc/vim/目录下文件拷贝到~/.vim/目录下(如果没有该目录则新建) mkdir ~/.vim cp -R /usr/local/go/misc/vim/* ~/.vim/ 3:新建~/.vim/ftdetect/go.vim,加入下面的内容:au BufRead,BufNewFile *.go set filetype=go echo "au BufRead,BufNewFile *.go set filetype=go" > ~/.vim/ftdetect/go.vim 只需3步,开启vim go...阅读全文

博文 2015-02-27 20:00:04 pkufergus

clickhouse 导出CSV时遇到双引号的问题

背景:从clickhouse中导出CSV文件,然后将此文件保存到另一个表中,发现保存的内容包含双引号 “XXXX”导致匹配不上查clickhose 文档,在生成CSV时,字符串中的双引号会以两个双引号输出,除此之外没有其他规则来做字符转义了 而代码解析CSV时,没有使用 golang 自带的CSV包,而是自己解析的r := bytes.NewReader(fileStream)bufioreader := bufio.NewReader(r)isFirstLine :=trueline,err := bufioreader.ReadBytes('\n')iferr != nil || io.EOF == err {break}line = bytes.TrimRight(line,"\r\n...阅读全文

博文 2019-05-11 17:34:55 helloGlobal

Go-Type

在谈论struct和interface已经用到了type这个关键字。 另外,Go的type另外一种常用功能,是类似于C/C++的typedef。在Go的package中,这种用法非常常见。 A type declaration defines a new named type that has the same underlying type as an existing type. The named type provides a way to separate different and perhaps incompatible uses of the underlying type so that they can’t be mixed unintentionally. type n...阅读全文

博文 2016-09-07 07:00:01 u013344915

golang语言部分保留字的举例

golang和c的代码有很大不同的,一不小心就会误用。 1 /* go保留字: */ 2 /* 3 break default func interface select 4 case defer go map struct 5 chan else goto package switch 6 const fallthrough if range type 7 continue for import return var 8 9 */ 10 /*1 package Name 包的名字 */ 11 //package go_reserved 12 package main //No1 13 /*2 import "Name" 导入包 14 import ( 15 别名 "fmt" 一旦启用别名,...阅读全文

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

Go 的插件化开发 Pingo

Pingo 是一个用来为 Go 程序编写插件的简单独立库,因为 Go 本身是静态链接的,因此所有插件都以外部进程方式存在。Pingo 旨在简化标准 RPC 包,支持 TCP 和 Unix 套接字作为通讯协议。当前还不支持远程插件,如果有需要,远程插件很快会提供。 使用 Pingo 创建一个插件非常简单,首先新建目录,如 "plugins/hello-world" ,然后在该目录下编写 main.go:

// Always create a new binary
package main

import "github.com/dullgiulio/p...阅读全文

开源项目 2015-04-27 16:00:00 dullgiulio

异相双生 —对“天才病”的亲历感受(一)

双相情感障碍,这是我今天夏天才从医生那里听到的名词。 在这段时间里,我从网上查阅了不少资料。双相情感障碍,又名躁郁症,biapolar disorder ,情绪在高峰和低谷这两极之间像钟摆一样摇摆,波动不定,同抑郁一样,是一种心境/情感障碍…… 好了,其他医学部分的内容请自行 Google,作为双相 II 型患者的我对于双相的看法、感受: 首先,我们要明确双相分为 I 型和 II 型。如果我们简单以“激越”、“平静”、“抑郁”的概念曲线来形容人的情绪变化。那么 I 型比较典型的(但不是绝对)就可以表示为:“平静”-“激越”-“平静”,II 型比较典型(但也不是绝对)就是“平静”-“抑郁”-“平静”。更简洁地说就是, I 型更偏“激越”,II 型更偏抑郁。我自己就是 II 型。 至于这种疾病的...阅读全文

博文 2019-10-17 16:33:03 aside section ._1OhGeD