go micro web

examples/web 有一个web的例子,这里比较简单service.HandleFunc("/", helloWorldHandler)这一行指定处理程序比较简单,第2个参数定义了一个函数,只要满足条件就行handler func(http.ResponseWriter, *http.Request)实际项目中不太可能只用go micro, 从0开始手撸所有其他轮子,那么可不可以在go micro中引入常用的框架呢?当然可以,来看一个引入gin的例子examples/greeter/api...阅读全文

Segmentfault 2020-08-08 17:32:31 舞林

教你如何搭建自己的go-gin框架(二) 封装Context

## 引言 > 简单说下本章的重点 * 1、抽离路由 * 2、将writer和request封装成Context,以方便后续扩展,封装了返回类型 * 3、优化框架源码,抽离封装了handleHTTPRequest方法 * 4、[代码地址 https://github.com/18211167516/go-Ebb/tree/master/day2-context](https://github.com/18211167516/go-Ebb/tree/master/day2-contex...阅读全文

Go语言中文网 2020-08-06 15:33:11 18211167516

Go 语言学习之运算符

01 算术运算符算术运算符有加号(+)、减号(-)、乘号(*)、除号(/)、取余(%),我们声明两个变量 a 和 b,并分别赋值 10 和 5,通过代码,我们演示算术运算符的用法。func main() { a := 10 b := 5 fmt.Println("a + b = ", a+b) fmt.Println("a - b = ", a-b) fmt.Println("a * b = ", a*b) fmt.Println("a / b = ", a/b) fmt.Println("a ...阅读全文

Segmentfault 2020-08-06 20:32:34 frank

[harbor源码分析]之仓库同步replication组件

harbor replication以下代码分析基于1.8.x,原文位于本人githubharbor的执行镜像同步需要以下3步:创建需要同步的目标registry,只需要提供目标registry地址和认证信息创建同步策略policy,策略中主要描述了同步方式(pull/push),需要同步的资源范围(project/image/tag)以及上一步注册的registry地址根据policy执行同步策略。详细操作可以参考harbor replication docregistry createreg...阅读全文

Segmentfault 2020-08-06 20:32:33 jzdwk

从零开始——GO语言基础语法

学习任何一门语言,都要学习好基础,把基础打牢,那些框架对你来说都是工具,你自己的基础好,懂得了他们的原理,自己就可以创造更优秀的框架。现在带大家学习GO语言的基础语法,让您的编程路上不迷茫。 JetBrains GoLand 2020 for Mac(GO语言编程工具) Go 语言基础语法 Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号。如以下 GO 语句由 6 个标记组成: fmt.Println("Hello, World!")6 个标记是(每行一个): fmt . ...阅读全文

51CTO博客 2020-08-05 16:10:35 满目山河j

Go语言入门系列(四)之map的使用

本系列前面的文章:Go语言入门系列(一)之Go的安装和使用Go语言入门系列(二)之基础语法总结Go语言入门系列(三)之数组和切片1. 声明map是一种映射,可以将键(key)映射到值(value),格式为:map[keyType]valueType。声明一个map并初始化它,使用key:value进行初始化:var scores = map[string]int {"数学":100, "语文":90, "Go":100}如果不想直接初始化,可以先声明再使用,注意这样需要使用make函数初始化后才...阅读全文

Segmentfault 2020-08-06 20:32:33 行人观学

TiDB源码阅读笔记(三) TiDB 的在线 DDL

在线 DDL 始终是数据库使用上的痛点。之前的工作中,有很多数据中心同事做 DDL 变更都很头疼,也吐槽过,谨慎选择时间点进行。即便如此,面对复杂庞杂的应用系统和各类定时运维脚本,DDL 操作依然可能干扰到业务正常运行。TiDB 的在线 DDL 是根据 Google F1 的在线异步 schema 变更算法实现F1 中 schema 以特殊的 kv 对存储于 Spanner 中,同时每个 F1 服务器在运行过程中自身也维护一份拷贝。为了保证同一时刻最多只有 2 份 schema 生效,F1 约定...阅读全文

Segmentfault 2020-08-06 20:32:32 Sev7ndayYo

生成随机字符串,支持多位多种模式

import(       "math/rand")//随机字符串 Model:字母数字符号/*   Model 110 必须包含字母数字   Model 111 必须包含字母数字和符号   Model 210 必须包含大写字母,小写字母及数字   Model 211 必须包含大写字母,小写字母及数字及符号   Model 321 字母数字符号三选二   Model 999 字母数字符号随机   Model else 字母数字随机*/func MakeRandomString(Length in...阅读全文

Go语言中文网 2020-08-05 21:16:34 nielanyu

PHP 码农的 go 语言密码本项目开发实战 - 搭建开发环境

我是一名 PHP 程序员。最近对 go 语言有了兴趣。所以我准备从身边的一个项目入手,实践并学习一下 go 语言。在上一篇文章中对这个要重构的小项目做了比较详细的介绍。今天计划在自己的电脑上搭建一个可以运行 go 语言的开发环境。几年前开始,我已经尝试用 Docker 来搭建我的开发环境。所以目前我开发环境所依赖的所有功能都是运行在 Docker 之上。比如 PHP,MySQL, Redis,Nginx 等。这次我将同样用 Docker 来搭建我的 go 语言环境。另外我的开发系统为 Ubunt...阅读全文

Segmentfault 2020-08-06 19:32:36 zzxworld