playground

Go+ 在线运行

那年仲夏 提交于 2020-07-28 05:51:54
Go+ Playground 分为两个版本,一个 基于 Docker ,在服务端编译执行 Go+ 代码;另一版本 基于 GopherJS ,其直接在前端编译执行 Go+ 代码。 https://qiniu.github.io/ https://play.goplus.org/ 来源: oschina 链接: https://my.oschina.net/itfanr/blog/4328068

golangWeb框架---github.com/gin-gonic/gin学习四(模型绑定、自定义校验、ShouldBindXXX、BindXXX)

倖福魔咒の 提交于 2020-07-24 02:06:53
文章目录 模型绑定、校验 绑定json(ShouldBindJSON) 绑定xml(ShouldBindXML)、form(ShouldBind) 自定义校验器(demo有问题) BindQuery\ShouldBindQuery(只限查询参数) BindJson(json)、Bind(查询参数、formdata) 模型绑定、校验 以下来自百度翻译: 若要将请求体绑定到类型,请使用模型绑定。我们目前支持JSON、XML和标准表单值的绑定(Foo= Bar和Bo.BAZ)。 GIN使用Go PooWorks/Valual.V8进行验证。在这里查看标签使用的完整文档。 注意,需要在所有要绑定的字段上设置相应的绑定标记。例如,当从JSON绑定时,设置JSON:“FieldNeX”。 类型——必须绑定 Methods-Bind, BindJSON, BindXML, BindQuery Behavior-These methods use MustBindWith under the hood。如果绑定错误,请求将被 c.AbortWithError(400, err).SetType(ErrorTypeBind) 中止,响应状态码将被设置成400,响应头 Content-Type 将被设置成 text/plain;charset=utf-8。如果你尝试在这之后设置相应状态码

gin请求数据校验

白昼怎懂夜的黑 提交于 2020-04-29 12:34:15
前言 最近优化 gin+vue的前后端分离项目 代码时候,发现代码中对请求数据的校验比较繁琐,于是想办法简化它。最终我发现了 go-playground/validator 开源库很好用。 优化前代码 代码如下: 发现每个方法都这样校验数据,很繁琐。 优化代码 这里使用 go-playground/validator 开源库来简化请求校验。 1.安装 go-playground/validator # 使用 Go Modules go env -w GO111MODULE=on # 安装 go-playground/validator go get github.com/go-playground/validator/v10 注意:v10版本是使用Go Modules,运行 go get github.com/go-playground/validator/v10 前需要确保 GO111MODULE=on ,不然会报: cannot find package "github.com/go-playground/validator/v10" 2.实现 StructValidator 接口的两个方法 StructValidator 是需要实现的最基本的接口,作为验证引擎来确保请求的正确性。 type StructValidator interface { ValidateStruct

go每日新闻--2020-04-17

房东的猫 提交于 2020-04-21 00:23:03
go语言中文网(每日资讯)_2020-04-17 一、Go语言中文网 目前Go语言中文书籍都在这,满400减230!总有你需要的 结构体转map[string]interface{}的若干方法 Socket Server的N种并发模型汇总 使用Go语言创建WebSocket服务 Go刷LeetCode系列:二叉树(5)右视图 二、 GoUpUp Go 每日一库之 plot 三、平也 Go语言的GPM调度器是什么? gopherDaily_2020-04-17 1. 使用Go和WebRTC实现云游戏服务 2. go playground预置了一些常用代码模板 3. Go web开发开源书 4. 为什么Python程序员应该考虑Go 5. 友情链接:npm加入github 来源:https://gopher-daily.com/ gocn_news_2020-04-17 1. 使用 Golang 和 WebRTC 实战开源云游戏 2. 为 Go 构建动态的探针 3. Go Lisp 解析器 4. GeoDB:一款可持久化的地理数据库 5. testcase:一款 Go TDD 测试框架 来源:https://gocn.vip/topics/node18 由于微信公众号不允许外链,文中大量链接可通过文末 「阅读原文」 查看。 归档地址:https://github.com/Han-Ya

如果您正在找一本关于Go语言的入门书,我只推荐您这本

久未见 提交于 2020-04-14 17:03:35
【推荐阅读】微服务还能火多久?>>> Go作为一门广受关注的热门语言,在市场上从来不缺少相关的书,特别是面向初学者的书。然而,跟市面上很多声称是入门书却只会一股脑儿地将各种语言细节硬塞给读者的“伪入门书”不一样,本书是一本真正面向初学者的书。整本书的学习曲线非常平缓,不会像过山车那样忽高忽低。书中的内容首先从变量、循环、分支、类型等基础知识开始,逐渐进阶至函数、方法、收集器和结构,最后再深入到指针、错误处理和并发等高级特性。只要翻开本书一页页读下去,你就会循序渐进地学到越来越多Go语言的知识,并且逐步掌握Go语言的众多特性。 除上面提到的优点之外,本书还是一本非常有趣的书。作者在书中列举了大量跟天文以及航天有关的例子,读者不仅要计算从地球乘坐宇宙飞船航行至火星所需的天数,还要在火星上放置探测器以便查找生命存在的痕迹,甚至还要想办法改造火星,使它能够适宜人类居住。值得一提的是,书中很多地方都带有可爱的地鼠(gopher)插图,它们就像旅行途中优美的景色一样,将为我们的学习旅途增添大量的乐趣。 总而言之,这是一本既有趣又实用的Go语言入门书。如果你只想读一本关于Go语言的入门书,那么我强烈推荐你读这一本 《Go语言趣学指南》 。 遗憾的是,很多学习Go语言的资源都假设读者拥有C语言的工作经验,而本书的目的则在于弥补这一缺陷,为脚本使用者、业余爱好者和初学者提供一条学习Go语言的康庄大道

如何在Go中检查地图是否包含密钥?

久未见 提交于 2019-12-26 19:07:46
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 我知道我可以在地图迭代 m 的, for k, v := range m { ... } 并寻找钥匙,但是有没有更有效的方法来测试地图中钥匙的存在? 我在 语言规范中 找不到答案。 #1楼 在“ 坚果”电子邮件列表中进行搜索 ,找到了Peter Froehlich在2009年11月15日发布的解决方案。 package main import "fmt" func main() { dict := map[string]int {"foo" : 1, "bar" : 2} value, ok := dict["baz"] if ok { fmt.Println("value: ", value) } else { fmt.Println("key not found") } } 或者,更紧凑地说, if value, ok := dict["baz"]; ok { fmt.Println("value: ", value) } else { fmt.Println("key not found") } 注意,使用这种形式的 if 语句, value 和 ok 变量仅在 if 条件内部可见。 #2楼 一行答案: if val, ok := dict["foo"]; ok { //do something here

JUC锁框架——Semaphore

别等时光非礼了梦想. 提交于 2019-12-06 17:40:45
Semaphore简单介绍 Semaphore是计数信号量。Semaphore管理一系列许可证。每个acquire方法阻塞,直到有一个许可证可以获得然后拿走一个许可证;每个release方法增加一个许可证,这可能会释放一个阻塞的acquire方法。然而,其实并没有实际的许可证这个对象,Semaphore只是维持了一个可获得许可证的数量。 Semaphore的简单示例 Semaphore经常用于限制获取某种资源的线程数量。下面举个例子,比如说操场上有5个跑道,一个跑道一次只能有一个学生在上面跑步,一旦所有跑道在使用,那么后面的学生就需要等待,直到有一个学生不跑了,下面是这个例子: public class Playground { private String[] tracks = {"跑道1","跑道2","跑道3","跑道4","跑道5"};//一共有5个跑道 private volatile boolean[] used = new boolean[5];//标记跑道是否被占用 private Semaphore semaphore = new Semaphore(5, true); //获取一个跑道 public String getTrack() throws InterruptedException { semaphore.acquire(1); return

解析GMAT语法中常见的8大一致性问题考点

限于喜欢 提交于 2019-12-04 23:58:46
GMAT语法 中的一致性问题是高频的考点,常有考生因为对这个问题不够重视而引发错误。为了避免在这个考点上扣分,下面小编就为大家解析GMAT语法中有关一致性的8大常见考点。 什么是GMAT语法的一致性问题? 所谓语法上一致就是谓语动词和主语在单、复数形式上保持一致。光从字面上来看貌似十分简单,但涉及到具体题目中却往往会成为扣分杀手。具体来说,在GMAT语法中有关一致性的具体考点主要有以下8种: 1. 主语谓语单复数一致 以单数名词或代词、动词不定式短语、动名词短语或从句作主语时,谓语动词一般用单数形式;主语为复数时,谓语动词用复数形式。 如:His father is working on the farm. / To study English well is not easy. / What he said is very important for us all. / The children were in the classroom two hours ago. / Reading in the sun is bad for your eyes. 注意:由what引导的主语从句,后面的谓语动词多数情况用单数形式,表语是复数或what从句是一个带有复数意义的并列结构时,主句的谓语动词用复数形式。如:What I bought were three English books.

《高效能青少年的七个习惯》读后感作文3700字

南笙酒味 提交于 2019-12-01 12:05:56
《高效能青少年的七个习惯》读后感作文3700字: 2019年的更新就从这篇读后感开始吧,因为这是2019跨年仔细读过的一本书。已经出版的译本,把书名译为《杰出青少年的7个习惯》,我不敢苟同,还是沿用最朴实的翻译,因为“Highly Effective”并不是“杰出”的意思,这种哗众取宠的翻译容易给青少年以压力,我怀疑一个孩子看到这样的标题后,会不会愿意翻开这本书。我感觉我不是杰出的(Outstanding),还是不要去看这本书了。 其实通读全书后,你会发现,普普通通的孩子更应该读这本书,因为这是一本关于从今天开始改变的书。作者像一位真诚的开明的父亲,在跟他充满各种青春问题的孩子们谈心。他想谈论和解决的问题包括考试、家暴、同伴压力、排挤、长高、体育运动、日常时间安排、大学申请、对性的迷惑、甚至如何面对情色(Pornography)的诱惑,简直是如何解决青春期问题的自助宝典。然而,对这一切问题,他都不带说教的色彩,处处传递的是倾听、同情和理解,然后试图从习惯的角度告诉你该如何面对和解决。我希望我中学的时候,能读到这样一本书,那会减少多少的迷茫和浪费青春。 先从大家耳熟能详的一本管理学圣经——《高效能人士的七个习惯》说起,其作者史蒂芬.柯维博士是本书作者西恩.柯维的父亲。史蒂夫.柯维博士当年潜心研究了自1776年以来美国所有讨论成功因素的文献,发现前150年的论著强调品德

使用swift语言编写iOS应用

此生再无相见时 提交于 2019-11-30 22:37:40
2014 WWDC ,苹果推出了swift语言来作为新的苹果平台语言。该语言风格看起来像一个各种语言大杂烩,但作为苹果平台新推语言,受到了很多关注。作为一个JSer,感觉这个语言应该比OC更容易上手。今天,尝试了下使用swift来编写iOS应用。 ##更新 本文更新于2014/09/13,为避免旧文误导观众! Xcode 6.0 在官网下载Xcode 6.0 GM版,安装。注: 本人操作系统 OS X 10.9 Mavericks。 也就是说安装Xcode 6.0并不需要 Mac OS X 10.10, 官网上说明需要Mac OS X 10.9.3或更高版本。 playground Xcode 6.0的第一个选项是创建一个playground文件。你可以编写代码,并在右边实时预览。 例如: 选择第二个选项,建立一个项目。和此前使用OC创建项目过程一样。这里使用了单视图应用。 创建完成后,目录结构如下图: 这里可以看出,目录结构基本没变。Objective-C文件变成了swift文件,两个文件(.h和.m)合并成了一个文件。 和以前一样,拖拽控件到故事板上。我做了一个简单的加法界面,如下: 在前面两个输入框中输入数字,在显示Hello的Label上面显示结果。 主要程序ViewController.swift内容如下: 运行结果如下图所示 总结