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

Go学习笔记之:if else 条件判断

Go语言的条件判断结构也很简单。 package main import "fmt" func main() { // 基本的例子 if 7%2 == 0 { fmt.Println("7 is even") } else { fmt.Println("7 is odd") } // 只有if条件的情况 if 8%4 == 0 { fmt.Println("8 is divisible by 4") } // if条件可以包含一个初始化表达式,这个表达式中的变量 // 是这个条件判断结构的局部变量 if num := 9; num < 0 { fmt.Println(num, "is negative") } else if num < 10 { fmt.Println(num, "has ...阅读全文

博文 2014-11-27 23:00:03 Goopand

Go 系列教程 —— 8. if-else 语句

这是我们 [Golang 系列教程](https://golangbot.com/learn-golang-series/)的第 8 篇。 if 是条件语句。if 语句的语法是 ```go if condition { } ``` 如果 `condition` 为真,则执行 `{` 和 `}` 之间的代码。 不同于其他语言,例如 C 语言,Go 语言里的 `{ }` 是必要的,即使在 `{ }` 之间只有一条语句。 if 语句还有可选的 `else if` 和 `else` 部分。 ```go if condition { } else if condition { } else { } ``` if-else 语句之间可以有任意数量的 `else if`。条件判断顺序是从上到下。如果 `i...阅读全文

博文 2017-12-09 10:24:21 Dingo1991

golang 二维slice初始化

二维slice有多个一维slice元素组成,显然,每个元素的长度不必一致。 a := [][]float64{ {1, 2, 3, 4}, {12, 21, 3, 14}, {1, 1, 2, 3}, {2, 3, 1, 6}, {2, 2, 3, 3}, {1, 1, 1, 1}} 1、应有二维的类型, 2、大花括号下的每个小花括号后均有逗号,最后一个除外 3、最后的大花括号应与最后一个元素在一行,挨着最后的小花括号 a := [][4]float64{//限定4列 {1, 2, 3, 4}, {12, 21, 3, 14}, {1, 1, 2, 3,5},//5个数 {2, 3, 1, 6}, {2, 2, 3, 3}, {1, 1, 1, 1}} 编译会出错:out of bound...阅读全文

博文 2017-07-22 10:03:29 小白雕

[Go] --- 变量的声明和定义

Email : hahayacoder@gmail.com 1 Go中变量的声明和JavaScript很像,使用var关键字 2 Go中变量的声明、定义有好几种形式 //声明并初始化一个变量 var m int = 10 //声明初始化多个变量 var i, j, k = 1, 2, 3 //多个变量的声明(注意小括号的使用) var( no int name string ) //声明时不指明类型,通过初始化值来推导 var b = true//bool型 //一种简单的方式等价于varstrstring="Hello" str := "Hello" //Go中有一个特殊的变量_任何赋给它的值将被丢弃 _, Ret:= 2, 3 3 Go的编译器对声明却未使用的变量在报错 4 和C语言一样...阅读全文

博文 2014-10-11 16:00:02 qiurisuixiang

golang初始化结构体数组

最近组里新项目要求用go来写,没办法只能边看文档边写代码,今天遇到郁闷的问题,查了好久最终发现居然是一个标点符号的导致的,遂纪录之 刚刚给一个接口写单元测试时想初始化一个结构体数组,然后遍历该数组并建立http.Request进行测试,结果一直报错,最后。。。才发现golang结构体初始化的正确姿势T_T 1 requests := []AuthRequest{ 2 AuthRequest{ 3 "plain", 4 "xl_test@xunlei.net", 5 "123456", 6 "smtp", 7 3, 8 "192.168.34.104", 9 "client.example.com", 10 }, 11 AuthRequest{ 12 "plain", 13 "xl_test@...阅读全文

博文 2017-12-28 19:00:08 lit10050528

go语言html/template解析问题

最近使用go语言html/template包进行一些静态化工作,发现template对于小于号(左尖括号<)不能正确处理,反复研究,没有弄清楚怎么回事,后来变通了一下,先对模板进行EscapeString编码,格式化以后,再进行UnescapeString编码,问题得到解决;但还是没弄清楚template为什么对单独的小于号(左尖括号<)无法正确格式化,但发现如果左尖括号的右边有一个或多个右尖括号(>),则能正确解析格式化,而template源码包读起来很费解,最终没有弄明白,希望知道的同学能告知原因;贴上我的解决方案,以供参考 package mytemplate import ( "bytes" "html" "html/template" "os" "strconv" "time" )...阅读全文

Go语言学习(三)枚举和类型

package main import "fmt" //1.枚举的使用 // 枚举指一系列相关的常量,比如下面关于一个星期中每天的定义。通过上一节的例子,我们 // 看到可以用在 const 后跟一对圆括号的方式定义一组常量,这种定义法在Go语言中通常用于定义 // 枚举值。Go语言并不支持众多其他语言明确支持的 enum 关键字。 // 下面是一个常规的枚举表示法,其中定义了一系列整型常量: const( Sunday = iota //0 Monday //1 Tuesday //2 Wedenesday //3 Thursday //4 Friday //5 Saturday //6 //同Go语言的其他符号(symbol)一样,以大写字母开头的常量在包外可见。 //以上例子中 num...阅读全文

博文 2016-03-23 23:00:06 mChenys

golang 中打印函数问题

/** * Created with IntelliJ IDEA. * User: zhangjian * Date: 13-5-13 * Time: 下午1:51 * To change this template use File | Settings | File Templates. */ package main import "fmt" import "unsafe" func main() { a_int := []int{1,2,3,4,5} ai:=reverse(a_int) for aa := range ai{ //1.这个地方"%d "中%d后面一定要加空格,不然golang会认为是字符串%d,直接输出 //fmt.Printf这个函数要求()括号里面的必须是字符串...阅读全文

博文 2015-06-17 20:04:03 zj360202

广东省云浮市市委书记、市人大常委会主任庞国梅一行莅临ChinaDataPay中国数据宝参观考察

10月27日,广东省云浮市市委书记、市人大常委会主任庞国梅一行在贵安新区花溪大学城管委会主任罗松华的陪同下,莅临ChinaDataPay中国数据宝公司进行参观考察。双方针对政府数据开放与国家大数据战略在数据宝公司进行深入交流探讨,并对数据宝公司“双创”平台的建设工作给予了充分肯定。 据悉,广东省在政务数据资源整合、共享、开放等领域先行一步。10月26日正式开通广东省政府数据统一开放平台“开放广东”。作为广东省政府数字统一的开放平台,首批开通了信用、交通、农业、经济、信息化、文化和国土等7个领域共104个数据集,10个数据应用和8个数据接口,方便公众和企业对接使用,计划到2020年底,“开放广东”平台将在零售服务等重点领域开放500个以上的政府数据集,形成50个以上的开放数据应用...阅读全文

go的变量作用域

go的变量作用域是花括号确定的,任一变量的作用域只在自身所处的花括号范围内 if, for等可以有初始化表达式的,其作用域还要高于其后的花括号一层 package main func main() { x:=1 println(x) for x:=3;;{ print(x," ") break } println(x) if x:=5; true { print(x," ") } println(x) for { x:=7 print(x," ") break } println(x) if true { x:=9 print(x," ") } println(x) if x:=2; true { print(x," ") x:="abc" print(x," ") } println(x)...阅读全文

博文 2014-10-04 19:26:00 刘地

golang之数组,slice,map

一 、==========================array 数组=================================== 索引只能是 int 整数型 所以不管几维数组 索引都是 整数 slice 是动态数组 索引也是 整数型 map为key 所以 可以为 整数 也可以为 字符串型 注意slice和数组在声明时的区别:声明数组时,方括号内写明了数组的长度或使用...自动计算长度,而声明slice时,方括号内没有任何字符。 arr1 := [10]int{1,2,3,4} //数组,长度为10,只有4个元素指定,其它的元素值默认为0 arr2 := [...]string{"a","b","c"} //数组,长度自适应,这里长度为3 s1 := []int{1,2,3,4...阅读全文

微信中继服务器https://github.com/1046102779/wx_relay_server

# 微信中继服务器 目的:其他服务采用拉服务模式,通过rpcx进行rpc通信,获取相关微信token. 用户微信公众号第三方平台刷公众号平台和托管的公众号appid的相关token, 该服务不能停超过10分钟. 主要刷公众号第三方平台的component_access_token和preauthcode, 公众号的authorizer_access_token和authorizer_refresh_token 存储方式:etcd存储rpc服务地址和微信公众号平台和公众号token, 使用etcd的ttl特性,并watch并刷新 ## 新增服务的可靠性措施 1. 服务启动后,立即读取etcd中的所有微信公众平台和公众号数据,加载到内存中。 并监听所有token ...阅读全文

BDT平台携手区块链,打造最有价值的数字资产平台!

区块 链这一倍受热议的蓝海项目,正在全球范围内吸引着无数参与者蜂拥而至。根据区块链公司DERO的调查显示:全世界范围内有455家公司共获得了19.47亿美元的融资。仅在中国境内就有61家公司斩获融资,位列全球第二。可随着区块链+的日益发展,参与者却逐渐发现了它的诸多弊端。[if !supportLists]一、[endif]缺乏隐私性:在区块链公有链中,每一个参与者都能够获得完整的数据备份,交易数据都是公开和透明的。通过帐户和交易信息,可轻松获得参与者的财富、重要资产、商业机密等。这无疑将给参与者带来极大的隐私风险。二、相对安全性缺失:绝对的安全,代表着相对的不安全。区块链技术一大特点就是不可逆、不可伪造,但前提是私钥是安全的。私钥是用户生成并保管的,没有第三方参与。私钥一旦丢失,便无法对账...阅读全文

博文 2018-11-27 18:34:41 栗原芽笙

「链得得“日常吐槽”」离子链刘涛:物联网无需区块链颠覆,需要区块链去完善提升

离子链官网:ionchain.org 点开直达!本文原发于链得得app链接地址:https://baijiahao.baidu.com/s?id=1611323157833044253&wfr=spider&for=pc链得得App注:链得得《无眠吐槽大会》是一档聚焦区块链领域的高质量吐槽节目。每一期将针对区块链领域较为热门的项目/话题/现象,邀请项目负责人/话题当事人做客现场,和社群用户进行有理有据、交锋激烈的高质量辩论,理性吐槽、科学互怼。链得得旨在通过专业高质量的吐槽辩论,打造去中心化的项目评估平台,直面谎言和泡沫,为行业正本清源。同时,让主角和创造者回归给用户,让每个用户真正参与价值创造,传递知识,在“吐槽”中学习成长。共识生于质疑、盛于理解,链得得喊你来吐槽! 9月11日晚8点,离...阅读全文

博文 2018-09-12 18:34:41 IONChain离子链

从例子中学习 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-24 11:36:49 陆仁贾

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 不屈真实

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

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

博文 2019-09-18 16:32:39 链客

go-if、for、switch、goto、break、continue

if语句: package main import "fmt" func main() { //if后面没有括号 if 1 < 2 { fmt.Println("1<2") } var a = 10 //初始化表达式-a的作用范围只在if语句块 if a := 1; a > 1 { fmt.Println("a > 1") fmt.Println(a) } else { fmt.Println("! a > 1") fmt.Println(a) } fmt.Println(a) } 输出如下: 1<2 ! a > 1 1 10 for语句: package main import "fmt" func main() { //第1种形式无限循环 a := 1 for { a++ if a > ...阅读全文

博文 2016-09-13 08:00:02 u013210620

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

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

博文 2019-09-12 17:32:46 链客

golang 学习第一篇 hello go

package main import "fmt" func main(){ fmt.Println("Hello go!") } 知识点: 1.每个go程序都必须包含一个package main 2.每个package main中都必须有一个func main 3.golang函数定义:func 函数名 参数列表 返回值列表 函数体 4.书写格式: 4.1 函数体的开始花括号 func 函数名 参数列表 返回值列表之后的同一行 4.2 函数体中的语句可以不以 “;”结尾,除非想把多个语句写在同一...阅读全文

博文 2014-10-04 19:25:58 songqt

golang——json的html转义问题

一、问题描述 json的Marshal 用来对slice,map,struct等结构化类型数据转义成[]byte/string,UnMarshal方法是用来对[]byte/string转义成指定结构的interface。但在处理html标签字符中,会存在转义问题。Marshal方法默认把html标签中的'<', '>' , '&'字符转义成unicode,为强制为有效UTF-8的JSON字符串,用Unicode替换符号替换无效字节。 go doc原文 String values encode as JSON strings coerced to valid UTF-8, replacing invalid bytes with the Unicode replacement rune. Th...阅读全文

博文 2019-04-14 14:34:39 yushu1987

程序员在家办公挣得更多

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

程序员在家办公挣得更多

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

[Golang]也许有你不知道的,Array和Slice(1)

Golang中的array 在golang中,array是同一类型的元素的有序排列,长度不能更改,占用内存上的一段连续空间。 1)基础 首先看看array的声明: [plain] view plaincopyprint?var justiceArray [3]string var justiceArray [3]string 以上声明了justiceArray是为有3个元素的string数组,括号里面的数字是必须的,不能省略。 另外说明一下,[3]string与[2]string是两种不同类型的array。 现在对其赋值:[plain] view plaincopyprint?justiceArray = [3]string{"Superman", "Batman", "Wonder Wom...阅读全文

博文 2015-03-06 12:00:01 abv123456789

Go语言小白笔记-(02)初识Go语言

二:初识Go语言1:GO语言介绍GO语言是什么“Go是一种开源的程序设计语言,它意在使得人们能够方便地构建简单、可靠、高效率的软件”(来自go官网golang.org)我们程序员在开发程序,开发软件时都会选择一门编程语言,那么我们应该怎样进行选择呢?可能有同学会说,我们要选择一门简单的,容易学习的,而且开发效率高的,能够在很短的时间内开发完成一个软件,这样老板会非常的满意,能够升职加薪,Python语言或者Ruby语言就非常适合这种快速开发。但是问题是,用这种语言开发的软件,当用户量多了,运行的速度会非常慢,给人的感觉就是非常卡,大家想一下这种软件还有人愿意使用吗?那可能又有同学说了,我们要学习运行速度快的编程语言,例如C或者是C++,但是这类编程语言学习难度是非常大的。那么有没有一种编程语...阅读全文

博文 2019-06-26 10:42:31 18942317505

google go 语言介绍(二)

分号 你可能已经注意到我们的程序没有分号。在Go的代码中,唯一你经常可以看到分号的地方是分割for循环的子句。在每句语句的结尾分号并不是必须的。 实际上,go像C或Java这样的常规语言一样使用分号,但是这些分号被自动的插入到语句的结尾处,你不需要手工的去输入这些分号。 关于分号更细节的信息可以查看语言规范,但是在本文中你所要知道的就是你不需要在语句末尾加上分号。(如果要在一行中写多个语句,你就需要在语句结尾加上分号)作为特别的帮助,你可以在大括号关闭符号前的语句省略分号。 这种方式提供了一个清晰的,无分号的代码。一个值得注意的地方是,撰写例如if这样的语句,大括号开始符号必须与if处于同一行;否则可能会导致编译错误或者得到一个错误的结果(译注:类似于c/c++/java语言的 if(xx)...阅读全文

博文 2014-10-04 19:26:21 fffvvvzz

Go-基础学习总结

1,背景:GO是强类型语言,其产生的原因是因为开发者认为C#,JAVA,C++太过繁重。而C也太过老旧,开发者想模仿C开发出一种接近底层的第三代语言。在当时多核时代盛行的背景下GO顺应潮流,坚持着简单的原则创造了GO 2,基础语法: 基本数据类型:int16 int32 int64 float32 float64 sring complex 3,定义 数据定义: int int[] slice var i int;i=0; var i int =0' var i,j int=0,0; i:=0 i,j:=0,0 var arr =[]int{0,1} var arr =[10]int; arr:=[10]int arr:=[...]{0,1,2,3} 指向数组的指针 这种反人类的设计,个人表...阅读全文

博文 2015-11-07 15:00:01 shuanger_

go语言导入"C"出错问题

以下内容来自转载,出处:本文出自 “松松” 博客,请务必保留此出处http://dongsong.blog.51cto.com/916653/1587363 最近在看人民邮电出版社 许式伟 吕桂华编著的《Go语言编程》,看到【1.2.9 语言交互性】小节的cprint.go。未按照书中源代码格式编写,而是把 import "C" 和 import "unsafe" 合并放入小括号中并和注释结束符 */ 间隔了一行,这也是大多数Go语言学习和开发者经常使用的代码风格,我修改后的代码如下: package main /* #include #include */ import ( "C" "unsafe" ) func main() { cstr := ...阅读全文

博文 2016-04-16 15:00:01 kuoshuang

Golang(Go语言)的三大设计目标

1.编译快 2.运行快 3.容易写 一般语言都只满足其中一两者,但是Go语言却找到了一个平衡点,同时满足这三个要求。目前比较适合做相对底层一点的东西,比如云计算、数据库、服务器后端等方面的,有些人可能不喜欢golang的语法,认为限制太多,比如大括号不能抬头等,不然编译都不能通过,但是我觉得这样很好,就不存在各种编程风格之争,大家格式都写得一样,习惯了就很容易阅读和理解别人的代码。还有其大繁至简的设计理念,使得用很少的代码量就能完成很复杂的开发工作,只要习惯了语法,写起代码来很轻松~~ C/C++这种类型语言的优点是运行速度快,缺点是编译较慢,语言诞生很早,由于历史原因,C++起初本身并不完美,规范经过不断完善修改并兼容,导致C++很复杂,虽然性能好,但是开发效率不是很高。 Java、.NE...阅读全文

博文 2016-02-20 21:00:02 QQ245671051

Go 边看边练 -《Go 学习笔记》系列(四)

上一篇: Go 边看边练 -《Go 学习笔记》系列(三) 2.1 表达式 语言设计简练,保留字不多。 break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var 2.2 运算符 全部运算符、分隔符,以及其他符号。 + & += &= && == != ( ) - | -= |= || < <= [ ] * ^ *= ^= <- > >= { } / << /= <<= ++ = := , ; % >> %= >>= -- ! ... . : &^ ...阅读全文

博文 2015-09-04 21:38:47 88250

Goland中html编辑器会提示大括号语法错误

在Gogland的html编辑器中使用go的html模板时候用到的大括号会提示报错,其实是不影响运行的,一直有个疑问有办法让其能识别呢,哎,都是强迫症搞怪,就像下面这种: ![QQ截图20170911172216.png](https://static.studygolang.com/170911/d6946e39e0ea53b531d3143177c7308a.png...阅读全文

Go 匿名函数的理解

通常不希望再次使用(即只使用一次的)的函数可以定义为匿名函数 详细链接 : https://www.kancloud.cn/xiaohuamao/riji/335713 package main import "fmt" func main() { //匿名函数 1 //f1 为函数地址 f1 := func(x, y int) (z int) { z = x + y return } fmt.Println(f1) fmt.Println(f1(5, 6)) //匿名函数 2 //直接创建匿名函数并运行 f2 := func(x, y int) (z int) { z = x + y return }(7, 8) fmt.Println(f2) //匿名函数 2 (无参数的形式) func...阅读全文

博文 2017-06-16 08:03:18 winnie121

Golang注视规范

注释的意义 注释可以帮我们很好的完成文档的工作,写得好的注释可以方便我们以后的维护。 /**/ 的块注释和 // 的单行注释两种注释风格, 在我们的项目中为了风格的统一,全部使用单行注释,注释的质量决定了生成的文档的质量。 下面从包注释、结构体(接口)注释、函数(方法)注释、代码逻辑注释以及注释规范方面进行说明。 包注释 每个包都应该有一个包注释,一个位于package子句之前行注释 包注释应该包含下面基本信息 // @Title 文件名称 // @Description 文件描述 // @Author 作者名称 (时间 格式是2019/3/26 19:53) // @Update 修改者名称 (时间 格式是2019/3/26 19:53) 结构(接口)注释 每个自定义的结构体或者接口都应该...阅读全文

博文 2019-08-23 15:32:52 mick_

JSON 序列化中的转义和 Unicode 编码

本文比较完整地整理一下 JSON 编码中的转义,以及 JSON 对 Unicode 编码的处理。 其实这是我上一篇文章的姊妹篇。在研究 Unicode 颜文字的时候,由于我们的数据传输是通过 JSON 串来完成的,在对颜文字进行转码传输的过程中,也发现了一个问题。解决问题之后,便有了本总结文。 JSON 中的普通转义字符 个人认为,JSON 是目前针对程序员而言可读性(readability)最佳的数据传输格式之一,并且 JSON 完整地考虑到了数据传输中的转义,避免出现各种注入风险。当对 JSON 进行序列化操作时(Go 中称为 marshal),根据 JSON 标准的说明,需要对字符串中的以下字符进行转义: 符号 名称 转义后的字符串 " 双引号 \" / 斜杠 \/ \ 反斜杠 \\ ...阅读全文

2018年Go语言实战笔记1

含着金钥匙出生的go 近几年,各编程语言中,最火的莫过于Go了。 Go诞生于Google, 是由以下三位计算机领域的大师写的 Go的亲爹们 由于出身名门,Go在诞生之初就吸引了大批开发者的关注。诞生十年以来,已经有很多基于Go的应用,一直有传言Go在将来是要取代现在Java的位置。对于一门只有十年历史的新语言,Go的发展势头是相当迅猛的。 国外的docker就是用Go写的,国内的七牛团队广泛使用Go。而今如火如荼的区块链技术更是将Go推上了热潮 听起来这么牛逼的技术,少年,你不想学下么? go环境搭建 在官网下载go的安装包 如果是mac,可直接用brew安装: brew intall go 查看go版本 ☁ go [master] ⚡ go version go version go1.1...阅读全文

博文 2018-07-21 22:34:46 章鱼喵_

Golang正则匹配成对的括号

Test func TestGetVaild(t *testing.T) { str:="zxtestcv,Vaild[Email;Min(120)]()][fdwd]" var reg = regexp.MustCompile(`Vaild\[(.*?)]`) params:=reg.FindStringSubmatch(str) for _,param :=range params { t.Log(param) } } 测试结果: === RUN TestGetVaild --- PASS: TestGetVaild (0.00s) utils_test.go:16: Vaild[Email;Min(120)] utils_test.go:16: Email;Min(120) PASS ...阅读全文

博文 2019-07-03 17:35:19 承诺一时的华丽

golang Html 正则

文链接:http://outofmemory.cn/code-snippet/2092/usage-golang-regular-expression-regexp-quchu-HTML-CSS-SCRIPT-code-jin-maintain-page-wenzi package main import ( "fmt" "io/ioutil" "net/http" "regexp" "strings" ) func main() { resp, err := http.Get("http://www.baidu.com") // resp, err := http.Get("http://www.163.com") if err != nil { fmt.Println("http get...阅读全文

博文 2016-03-04 17:00:01 zxlvxj

第3课 Go控制,循环,选择,跳转语句

package main import ( "fmt" ) func main() { /* Go虽然保留了指针,但是其与其他编程语言不同的是,在Go中不支持 指针运算以及“->”运算符,而是直接采用“.”选择符来操作指针目标 对象的成员 操作符“&”取变量地址,使用“*”通过指针间接访问目标对象 默认值nil而非NULL */ a := 1 var p *int = &a fmt.Println(*p) //输出1 //指针 /* ++和--是作为语句而非表达式 表达式可以放在=右边 所以现在a++只能作为单独的一行 */ a-- fmt.Println(*p) //输出0 if 1 < 2 { //左大括号必须放在if同一行 } //if的一种用法 if a := 1; a > 1 { ...阅读全文

博文 2016-08-16 18:00:00 lhdalhd1996

golang实现Elasticsearch做短信查询统计

1.golang操作ES需要用到的第三方包 拉取地址: gopkg.in/olivere/elastic.v5 目前有v6 我用的ES是5.4.1所以用V5版本 官方有文档可以看一下API。 2.为啥要用ES做查询? 众所周知数据放进数据库(mysql.....)也可以进行查询,可以对数据进行筛选条件查询出想要的数据,那么为啥不用mysql,无非就是查询速度慢,ES查询是通过Lucene的倒排索引技术而关系型数据库用的是b-tree,b-tree索引是为写入优化的索引结构,可以下来看一下这两个技术对比一下。 3.实战我这里给个例子统计短信 func AggsSendMessage(p *pb.AggsSendMessageRq) (items *pb.AggsMessageItemRp, e...阅读全文

博文 2018-10-19 13:34:40 毛毛虫de一生