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

golang 的time包之time

先看看有哪些类型 Time 时间类型,包含了秒和纳秒以及Location Month type Month int 月份.定义了十二个月的常量 Weekday type Weekday int 周,定义了一周的七天 Duration type Duration int64 持续时间.定义了以下持续时间类型.多用于时间的加减 需要传入Duration做为参数的时候.可以直接传入time.Second const ( Nanosecond Duration = 1 Microsecond = 1000 * Nanosecond Millisecond = 1000 * Microsecond Second = 1000 * Millisecond Minute = 60 * Second Hou...阅读全文

博文 2014-10-04 19:26:08 zhepama

微信代理服务WeChat-Proxy

WeChat-Proxy 是微信代理服务。 1、全局缓存微信 access_token, jsapi ticket等。 2、多路转发微信回调消息。 3、简化微信 oauth2 认证流程。 4、简化微信支付流程。 5、简化微信 JSSDK 签名流程。 参数说明: key: 自定义的app名称,支持中文,也可以是随机生成的字符串。(必填) appid: 微信公众号的 appid。(必填) secret: 微信公众号的 secret。(必填) token, aes: 用于微信回调消息加解密的秘钥。(/msg接口) 如果设置了此项参数,后台应用可以直接以json明文格式接收和回复微信回调消息。(/msg/json接口) mch_id, mch_ke...阅读全文

go默认httpclient的UserAgent在哪里设置的?

代码 ``` func main() { http.Get("http://localhost:8888/hello") } ``` header 是如下 ``` map[User-Agent:[Go-http-client/1.1] Accept-Encoding:[gzip]] ``` 请问下大家,这个User-Agent是在哪里设置的,我用debug从头跟到尾,直到程序结束Header都是空,为什么收到的请求User-Agent变成了Go-http-client/1.1 , 这个是谁填的,难到不是go填的...阅读全文

Go语言的Json管理模式

在Go语言中Json管理是一个微不足道的问题,但是也会出现少数不可避免的问题: 如何为字段提供默认值? 如何使一个字段可选? 如何避免使用某些字段的默认值 (如 ︰ 用户 id)? 如何防止指针维护的问题 如何验证? 下面一些示例演示如将一个Struct解析成一个Json文档 我们来看一个在我们在日常开发中常用的一个Model,a User, a Scene, a Parcel,Models能够Marshaled Json,同样Json也能Unmarshaled为Models。在所有程序中,我们需要验证传入的Json。 当我们要把一个Json解析成Model的时候,我们利用结构标记来表示字段名称,比如我们可以用”omitempty”,来告诉程序我们是否忽略这个字段当它的值为空的时候。 typ...阅读全文

博文 2017-02-10 12:27:02 谢权

go语言表单验证

go语言表单验证 1.必填字段 if len(r.Form["username"][0])==0{ //为空的处理 } 2.数字校验 //第一种方法 getint,err:=strconv.Atoi(r.Form.Get("age")) if err!=nil{ //数字转化出错了,那么可能就不是数字 } //接下来就可以判断这个数字的大小范围了 if getint >100 { //太大了 } //第二次方法【正则匹配】 if m, _ := regexp.MatchString("^[0-9]+$", r.Form.Get("age")); !m { return false } 3.中文校验【go实现的正则是RE2,所有的字符都是UTF-8编码的。】 //对于中文我们目前有两种方式来验...阅读全文

博文 2017-07-20 04:02:50 sun1021873926

golang 使用validator.v9做数据验证并输出中文

1.安装 go get gopkg.in/go-playground/validator.v9 2.使用 package main import ( "fmt" "github.com/go-playground/locales/zh" ut "github.com/go-playground/universal-translator" "gopkg.in/go-playground/validator.v9" zh_translations "gopkg.in/go-playground/validator.v9/translations/zh" ) type User struct { Account string `json:"account" validate:"required"`...阅读全文

博文 2020-01-04 19:32:52 种花家de大老师

golang爬取节假日信息

逛博客的时候发现别人提出的一个问题,怎么判断是否为节假日。思考了一会想到了两个解决方案 1.自己记录节假日信息 2.第三方数据接口 自己录制这个直接被我给pass掉了,繁琐还有可能遗失之类的。那么就第三方数据接口这个方案了。 通过百度找到了一个看起来还不错的 https://www.juhe.cn/docs/api/id/177/aid/601 请求参数说明: 名称 必填 类型 说明 key 是 string 您申请的appKey year 是 string 指定年份,格式为YYYY,如:2015 返回参数说明: 名称 类型 说明 error_code int 返回状态码 reason string 返回原因 result string 返回实体内容 holidaylist string 当...阅读全文

博文 2018-03-10 18:33:08 小塔罗

GO 快递单号查询api接口开发(快递鸟)

此文章纯属个人原因,本人是初学者,刚学习Golang 4个来月,如写的不好大神们就请绕行吧!最近公司需要些快递的接口,但是公司没有开发,我是个搞运维,一直在学GO,所以就试着写了写,也在网上找了很多资料,都没有找到需要的,快递鸟的接口对接其实很简单,先去官网注册账号,登陆把基本信息填好,然后在产品管理中订购一下“物流查询”,免费,免费的有对接口调用频率限制,结合自己的应用流量够用就可以。对接流程:快递鸟网站申请接口KEY并认证-对接接口-调试-上线使用1、登录快递鸟官网注册页面注册快递鸟账号2、登录快递鸟用户管理后台注:登录快递鸟用户管理后台后获得用户ID和APIKey,此用于保证应用来源的可靠性,避免应用伪造,被不法使用。进入“我的会员中心”进行实名认证 注:1、认证类型、应用类型根据用户...阅读全文

博文 2019-09-23 17:03:00 fire77

Golang Excel导入数据并标注此行背景色和异常数据提示暂时

项目架构:Echo+Gorm+excelize 依赖开源项目:github.com/360EntSecGroup-Skylar/excelize 开源项目中文文档:https://xuri.me/excelize/zh-hans/ excel模板 image.png func ImportAccountByExcel(c echo.Context) error { //文件地址 path := c.FormValue("path") if path == "" { return utils.ErrorNull(c, "请上传excel文件") } path = strings.TrimLeft(path, "/") if flag, _ := utils.PathExists(path); ...阅读全文

博文 2018-09-14 18:34:46 承诺一时的华丽

【Golang】Gin 框架之请求参数多语言验证

我们在web开发中,你的应用可能会在不同国家使用,所以需要将相关的错误提示根据本地语言进行相应的提示,也即是所谓的国际化。本文简单的介绍一下,在Gin中如何实现多语言的验证。我们借助validator.v10以及相应的语言包。 集成关键点 导入需要转换语言包 公共包: "github.com/go-playground/validator/v10" 需要转换的包,比如英文和中文 en2 "github.com/go-playground/locales/en" zh2 "github.com/go-playground/locales/zh" ut "github.com/go-playground/universal-translator" en_translations "github....阅读全文

博文 2020-03-16 17:32:56 云枫随笔

Golang:通过小程序获取微信 openid

为什么要获取小程序的 openid 在开发微信小程序的过程中,小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。那么这个用户身份标识就是 openid。 小程序获取 openid 的流程 那么小程序获取 openid 的流程具体如下,这里我简化了一下,因为我们只需要获取到 openid 即可,具体可以参考这里 我们需要在小程序中调用 wx.login() 获取 code 码,然后将这个 code 码发送给后端,后端带着这个 code 码和 appid,appsecret 向微信接口发起 http 请求获取 openid。 注意事项 在开发的小程序中的 AppID 一定要和后端使用的 AppID 保持一致,否则会获取 openid 失败 我们请求...阅读全文

博文 2020-03-23 21:32:44 Rollover

Golang学习-基础命令

链客,专为开发者而生,有问必答!此文章来自[区块链技术社区](https://www.liankexing.com),未经允许拒绝转载。 Golang学习-基础命令11一、go run 用于运行命令源码文件,只能接收一个命令源码文件以及若干个库源码文件作为参数。先将源码文件编译成临时文件,然后再运行这个临时文件,临时文件可能包括可执行文件和归档文件。这些临时文件如果不做命令标记,会在被运行后被删除。下面是go run命令常用的标记:–a : 强制编译相关代码文件,无论代码文件是否有更新 –n : 打印编译过程中所需要的命令,但是不执行它 –p N : 并行编译,其中N为CPU逻辑个数 –v : 列出被编译的代码包名称 –work : 显示编译时创建的临时工作目录,注意这些目录并不会删除 –x...阅读全文

博文 2019-06-28 13:02:39 链客区块链技术问答社区

坚持做创业护卫队的770天

相传,创业C星球里存在一支神秘的创业护卫队,自组建以来的770天里他们奇迹般攻占超100个孵化基地,成功赋能超5000支创业团队,为平台上的团队实现超10亿元融资额。 C星球的创业勇士们,这个既低调又华丽的创业护卫队~~~现~~~身~~~了~~(看完全篇有惊喜) 这支创业护卫队正是阿里巴巴创新中心,它有个洋气的英文名:Alibaba Innovation Center。它诞生于2015年3月29日,当时还叫阿里云“创客+”。而2016年8月在云栖大会·北京峰会上“创客+”华丽升级为阿里巴巴创新中心。 阿里巴巴创新中心专注服务基于互联网、云计算、大数据等科技类“双创”团队,强大的阿里巴巴星球内外部资源整合能力是护卫队的主要技能之一,包括创业场地、指导、资本...阅读全文

【MPS最佳实践】媒体工作流转码

摘要: 背景 1个输入文件对应多个输出文件(不同分辨率,不同格式等),通过控制台的图形化界面,快速搭建常用视频处理流程。 优势 简单易用,视频上传完成自动触发转码任务。 功能强大,支持截图、转码、转封装、水印、加密、剪辑等功能。 **点此查看原文:http://click.aliyun.com/m/42850/** **背景** 1个输入文件对应多个输出文件(不同分辨率,不同格式等),通过控制台的图形化界面,快速搭建常用视频处理流程。 **优势** 简单易用,视频上传完成自动触发转码任务。 功能强大,支持截图、转码、转封装、水印、加密、剪辑等功能。 在媒体工作流开始执行和完成执行时,支持向指定的消息队列或消息通知发送工作流执行信息。 媒体库,为您提供音视频...阅读全文

比特币区块的产生速度为何被设定为10分钟?

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 众所周知,比特币的block产生速度被设定为了10分钟,按着官方wiki所说,每一个节点需要一些时间来确认block(<10mins),但为什么是10分钟呢?和网络延迟有关系吗?和hash方程的难度有关系吗? 本期《晓说区块链》,陈晓东先生(维基链首席技术官)将围绕这些话题,为大家解读。 网友:为什么比特币的block产生速度被设定为10分钟? 和网络延迟有关系么?按着官方wiki所说, 每个节点需要一些时间来确认block(<10mins),但是为什么要10分钟?和hash方程的难度有关么? 陈晓东:比特币选择10分钟来产生区块,也就是1/600 BPS (Blocks/Sec),这个是根据具体设计而制定的, ...阅读全文

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

技术技能学习

想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】链客,有问必答!!编译了一个java版本的,比如同步数据到2000多块,重启程序,在同步发现每次都是从938的高度开始同步,找不到解决的办法答:可能是启动命令的问题,启动命令里面的哪个参数有问题吧golang的rpc中的这个方法:Unlock_keystore是什么意思?答:解锁账号的意思,通过rpc转账,或者调用智能合约消费gas到时候,都会说你的账号没解锁,需要调用这个方法来解锁...阅读全文

博文 2019-03-04 12:34:40 链客区块链技术问答社区

golang gocolly/colly 安装和一些填坑

go get -u github.com/gocolly/colly/... 有些包无法下载,我们通过git来下载 git clone https://github.com/golang/net.git $GOPATH/src/golang.org/x/net git clone https://github.com/golang/text.git $GOPATH/src/golang.org/x/text git clone https://github.com/golang/protobuf.git $GOPATH/src/github.com/golang/protobuf git clone https://github.com/golang/appengine.git $GOPAT...阅读全文

博文 2020-03-03 00:33:08 Mr_Laoyu

Hexo 博客快速整合公众号导流工具,不用互推也能实现粉丝躺增!

readmore 插件简介 Hexo 整合 OpenWrite 平台的 readmore 插件,实现博客的每一篇文章自动增加阅读更多效果,关注公众号后方可解锁全站文章,从而实现博客流量导流到微信公众号粉丝目的. 🏠 主页 效果 用法 Step #1 - 更新 _config.yml 配置文件 在 _config.yml 配置文件中,配置 readmore 插件相关信息,详情见 OpenWrite 微信公众号增长神器 "ReadMore" 简介. plugins: readmore: blogId: 15702-1569305559839-744 name: 雪之梦技术驿站 qrcode: https://snowdreams1006.github.io/snowdreams1006-wech...阅读全文

博文 2019-10-11 18:02:40 雪之梦技术驿站

Java版本分析

想知道更多区块链技术知识,请百度【链客区块链技术问答社区】进入 链客,有问必答!!编译了一个java版本的,比如同步数据到2000多块,重启程序,在同步发现每次都是从938的高度开始同步,找不到解决的办法答:可能是启动命令的问题,启动命令里面的哪个参数有问题吧golang的rpc中的这个方法:Unlock_keystore是什么意思?答:解锁账号的意思,通过rpc转账,或者调用智能合约消费gas到时候,都会说你的账号没解锁,需要调用这个方法来解锁...阅读全文

博文 2019-01-22 14:34:49 陈_3061

新手怎么学以太坊区块链开发?

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 在学习以太坊应用开发时,除了学习solidity开发智能合约,一个小白还应该补充 哪些知识?文本将给出相关的学习资源和学习路径。 前端技能学习智能合约仅仅是以太坊去中心化应用的一个组成部分,要提供用户操作的界面,前端 web开发技能比不可少,这是HTML/CSS/JavaScript的天下: HTML入门与实战CSS入门与实战JavaScript入门与实践jQuery开发手册如果你希望在前端使用现代框架例例如当红炸子鸡Vue,可以参考以下课程: vue.js 2入门与提高Vuex 2入门与提高VueRouter 2入门与提高vue.js 2工程化实践后端技能学习严格的去中心化应用不需要后端,但是很多情况下,基于以...阅读全文

博文 2019-09-26 16:33:18 链客

Golang:通过小程序获取微信 openid

为什么要获取小程序的 openid 在开发微信小程序的过程中,小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。那么这个用户身份标识就是 openid。 小程序获取 openid 的流程 那么小程序获取 openid 的流程具体如下,这里我简化了一下,因为我们只需要获取到 openid 即可,具体可以参考这里 我们需要在小程序中调用 wx.login() 获取 code 码,然后将这个 code 码发送给后端,后端带着这个 code 码和 appid,appsecret 向微信接口发起 http 请求获取 openid。 注意事项 在开发的小程序中的 AppID 一定要和后端使用的 AppID 保持一致,否则会获取 openid 失败 我们请求...阅读全文

博文 2020-03-24 11:34:30 startdusk

Redigo Pool 源码解析

Redigo Pool 最重要的结构 type Pool struct { // 真正获取跟redis-server连接的函数, 必填参数 Dial func() (Conn, error) // 这是个可选参数, 用于在从 pool 获取连接时, 检查这个连接是否正常使用. 所以这个参数一般是必填的 TestOnBorrow func(c Conn, t time.Time) error // 最多有多少个空闲连接保留, 一般必填 MaxIdle int // 最多有多少活跃的连接数, 一般必填 MaxActive int // 空闲连接最长空闲时间, 一般必填 IdleTimeout time.Duration // Pool 的活跃的连接数达到 MaxActive, 如果 Wait 为...阅读全文

博文 2020-01-05 13:32:45 HHF技术博客

Redigo Pool 源码解析

## Redigo Pool 最重要的结构 ```go type Pool struct { // 真正获取跟redis-server连接的函数, 必填参数 Dial func() (Conn, error) // 这是个可选参数, 用于在从 pool 获取连接时, 检查这个连接是否正常使用. 所以这个参数一般是必填的 TestOnBorrow func(c Conn, t time.Time) error // 最多有多少个空闲连接保留, 一般必填 MaxIdle int // 最多有多少活跃的连接数, 一般必填 MaxActive int // 空闲连接最长空闲时间, 一般必填 IdleTimeout time.Dur...阅读全文

Protocol Buffer在Node.js中的应用

1. Protocol Buffer 简介 先引用官网的一段话: Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data t...阅读全文

博文 2020-04-01 05:32:42 前端艾希

【每日一库】解析和提交 HTML 表单的库:gosubmit

项目地址:,发布刚半个月。 该库帮助在测试过程中填写纯 HTML 表单。将自动从表单中获取现有值,因此无需手动设置诸如 csrf 令牌之类的东西。在缺少必填字段或模式验证不匹配时发出警报。 ## 支持的表单元素 - `input[type=checkbox]` - `input[type=date]` - `input[type=email]` - `input[type=hidden]` - `input[type=number]` - `input[type=radio]` - `input[type=text]` - `input[type=url]` - `textarea`...阅读全文