教你如何搭建自己的go-gin框架(一) 基础核心搭建

## 1、使用http包默认启动web服务 - 基于go1.14 开启modules模式 - 介绍net/http库的简单使用 - 搭建框架雏形 - [代码地址](https://github.com/18211167516/go-Ebb/tree/master/day1-base) > Go语言内置了 net/http库,封装了HTTP网络编程的基础的接口,我们实现的ebb Web 框架便是基于net/http的。我们接下来通过一个例子,简单介绍下这个库的使用。 ...阅读全文

Go语言中文网 2020-08-05 15:12:11 18211167516

Go 语言学习之常量

01 概念常量是一种表达式,常量的计算可以在编译时完成,如果有错误,在编译时就会报错,常量的值不可以修改。02 声明常量常量声明可以同时指定类型和值,如果没有显示指定类型,则类型根据右边的表达式推断。需要特别注意的是,声明常量不同于声明变量可以不赋值,声明常量必须赋值。const name string = "golang" const PI = 3.14 func main() { fmt.Printf("name = %s type:%T\n", name, name) fmt.Printf...阅读全文

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

合约跟单软件开发技术方案,一键跟单系统开发

合约跟单软件开发技术方案,一键跟单系统开发 合约跟单软件开发模式是根据内成交量、赢利量等方面筛选出的名单,玩家看到可根据的赢利点和跟单费用,跟单费用是需要付款程序的,选择相应的系统进行自动跟单,系统跟单是跟踪所选要下的最新单,而手动跟单则需要选择跟单资产跟价止盈止损,下单手数和杠杆倍数。 而且在整个跟单系统中,究竟哪些人是交易高手,平台上也会晒出该交易者的相关数据,包括:收益率、盈亏比、资金实力、最大回撤和能力值等等。 合约跟单软件开发的核心功能: 1、正跟和反跟:正跟...阅读全文

Go语言中文网 2020-08-05 11:03:26 13823153201

实战Nginx-keepalived双机热备集群

原文首发地址:https://mp.weixin.qq.com/s/XTMoGAr9-KvbPceLv9_nhw如有转载请保留图文全部内容,并在文章明显位置保留文章链接一般情况下我们会使用Nginx用做路由转发或者部署我们的静态资源,那你知道如何什么是Nginx的高可用,并如何实现吗?哎~这篇文章牺牲了一个美丽的周末,各位大佬,能否给个赞,嘻嘻????附:文末有本文PDF获取方式,想要的可以搞一下​一、Nginx高可用为了屏蔽负载均衡服务器的宕机,需要建立一个备份机。主服务器和备份机上都运行高可...阅读全文

Go语言中文网 2020-08-04 22:41:09 Taoey

PHP 码农的 go 语言密码本项目开发实战 - 项目介绍

我是一名 PHP 程序员。最近对 go 语言有了兴趣,一直想找一个机会学习并实践这门有趣的语言。手头刚好有一个之前用 PHP 写的账号密码管理小工具,我决定用 go 重构这个小工具来入门 go 语言的 web 场景开发。同时我也希望自己这个实践和学习的过程能给其他向我一样,也就是对 go 语言有兴趣的人带来一些帮助。虽然项目不大,但我还是希望有计划的来完成它。所以这将会是一个系列文章,目前我规划的步骤如下:项目规划开发环境搭建实现前端界面实现数据表创建方法实现随机密码生成方法实现项目安装命令实现...阅读全文

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

Dubbo-go 发布 1.5 版,朝云原生迈出关键一步

简介: 2008 年诞生的 Dubbo 已有十多年历史,依靠阿里和其社区,历久弥新。2016 年发布的 Dubbo-go 也已进入第五个年头,如今全面兼容 Dubbo v2.7.x 的 Dubbo-go v1.5 终于发布了。作者 | 于雨、何鑫铭 等引语计算机技术浪潮每 10 年都有一次技术颠覆,相关知识体系最迟每 5 年都会革新一次,大概每两年贬值一半,在应用服务通信框架领域亦然。凡是有长期生命的通信框架,大概有 5 年的成长期和 5 年的稳定成熟期。每个时代都有其匹配的应用通信框架,在 2...阅读全文

51CTO博客 2020-07-31 18:25:54 wx5f21433ac3ee5

ARTS 第12周 | LeetCode 54 旋转打印矩阵 | Go Benchmark

ARTSARTS 是陈浩(网名左耳朵耗子)在极客时间专栏里发起的一个活动,目的是通过分享的方式来坚持学习。每人每周写一个 ARTS:Algorithm 是一道算法题,Review 是读一篇英文文章,Technique/Tips 是分享一个小技术,Share 是分享一个观点。本周内容Algorithm本周的算法题是 LeetCode 54. Spiral Matrix 旋转打印矩阵(二位数组)。这道题本身没有什么复杂的算法,最难得地方在于找到打印的结束条件和判断打印过程是否应该「拐弯」了。func...阅读全文

Segmentfault 2020-08-06 19:32:35 casmo澎湃哥

flow.ci v0.20.30 发布 - 简单而强大的开源 CI/CD 工具

Hello,好久好久不见,由于一些原因,距上一次开源版 新一代 CI 持续集成工具 flow.ci 正式开源 的发布已经过去快3年的时间了。今后 flow.ci 将重启维护,并保持一个月左右更新一次的频率。GitHub 地址: https://github.com/flowci主要特性简单,快速开始一次任务flow.ci 提供了服务端,Web 和 Agent 的 Docker 镜像,通过以下脚本即可完成安装。git clone https://github.com/FlowCI/docker.g...阅读全文

Segmentfault 2020-08-06 19:32:35 flowci

通过两个例子介绍一下 Golang For Range 循环原理

下面的代码是死循环么?func main() { v := []int{1, 2, 3} for i := range v { v = append(v, i) } }上面的代码先初始化了一个内容为1、2、3的slice,然后遍历这个slice,然后给这个切片追加元素。随着遍历的进行,数组v也在逐渐增大,那么这个for循环是一个死循环么?答案是否。只会遍历三次,v的结果是[0, 1, 2]。并不是死循环,原因就在于for range实现的时候用到了语法糖。语法糖语法糖(Syntactic sug...阅读全文

Segmentfault 2020-08-06 18:32:34 code

数字货币钱包开发方案,理财钱包搭建app

数字货币钱包开发方案,理财钱包搭建app 数字货币钱包开发从单纯的存储工具不断想纵深发展,一方面从自身功能上不断扩展,从单纯的储存到引入行情播报,再到引入丰富的DApp和交易所应用,以及直接联系功能,数字钱包已经从单一的储存价值成为生态丰富的综合性钱包,另一方面从类型上不断延伸,从客户端钱包,到公链节点钱包,再到交易所托管钱包,以及可管理私钥的智能钱包,冷钱包等等,数字钱包的迭代不仅体现了区块链技术和生态发展,也反应了用户的市场需求。 数字货币钱包开发安全管理系统的主要特点是: ...阅读全文

Go语言中文网 2020-08-03 13:59:46 13823153201

TarsGo 服务 Hello World——从 HTTP 开始

作者:amc导语:在进行本文实践之前,需要先完成TARS架的搭建,参考TARS框架部署文档。在我们的实际应用中,目前基于 TARS,主要采用 Node.js 和 C++ 进行开发。对于 C++ 程序员来说,目前最热门的后台开发语言莫过于 Google 的 Go。TARS 框架最新的版本已经把内部的 TafGo 开源为 TarsGo。作为与时俱进的程序员,当然要尝鲜啦。环境准备GO环境开发环境显然要安装好 Go 了。请注意的是,TarsGo 要求 Go 版本 1.9 以上。最新稳定版已经是 1.1...阅读全文

Segmentfault 2020-08-06 18:32:34 TARS基金会

Go语言学习之基础数据类型

01 整数类型整数类型按照有/无符号划分,可分为有符号整数和无符号整数,二者按照大小划分,有 8 位、16 位、32 位和 64 位:大小8 位16 位32 位64 位有符号int8int16int32int64无符号uint8uint16uint32uint64此外,还有两种整数类型,分别是 int 和 uint,其大小与原生的有/无符号整数类型相同,都是 32 位或 64 位。其中,int32 和 uint8 分别有类型别名是 rune 和 byte,二者可互换使用。需要注意的是,int 和...阅读全文

Segmentfault 2020-08-06 18:32:33 frank

初识分布式:MIT 6.284系列(一)

前言本系列是源于「码农翻身」所属知识星球发起的读书活动,由大佬 @我的UDP不丢包 推荐而来,这次的读书活动有一些另类,我们抛弃了传统的书籍,开始攻略最高学府的研究生顶级课程 <6.824>,该课程是很多年前的蠕虫病毒发明者Robert Morris大佬授课,归属于麻省理工大学,授课方式主要是:视频 + Lab 实验(Go 语言) + 论文,全程英语,难度较大。分布式系统的判断依据multiple cooperating computers (多台计算机协作)storage for big we...阅读全文

go mod基本使用

gomod用来对包进行管理,在Go v1.13默认开启。初始化mkdir ~/goPrj/gomodTest go mod init gotest.com/v1在根目录下会生成一个go.mod文件添加测试代码,生成新文件gintest.gopackage main import ( "net/http" "github.com/gin-gonic/gin" ) func main() { ginServ := gin.Default() ginServ.Any("/higin", WebRoot...阅读全文

Segmentfault 2020-08-06 15:32:36 麦穗儿

Docker组件go-event 源码学习

go-event是一个在Docker项目中使用到的一个事件分发组件,实现了常规的广播,队列等事件分发模型,代码简洁明了,也适合初学者对Go语言的入门,对channel用来同步,通信也会加深理解。核心数据结构Eventtype Event interface{} Event被封装为一个空接口,接受任意类型。在go-events表示一个可以被分发的事件。 interface{}的底层类似于c语言中的void*,但比void*强大很多,比如interface{}保存了指向对象的指针和类型,而c程序员使...阅读全文

Segmentfault 2020-08-05 21:32:33 WayKwin

TiDB 源码阅读(二.1)TiDB 中 的 Kill Query

今天无聊,想试试 kill query,主要是想 debug 一下 jdbc 8 的 kill query 逻辑。不试不知道,一试就怀疑人生。后来验证一下,看看怎么做的MySQL [(none)]> show processlist; +------+------+-----------+------+---------+------+-------+--------------------+ | Id | User | Host | db | Command | Time | State | ...阅读全文

Segmentfault 2020-08-06 11:32:35 Sev7ndayYo

TiDB源码阅读(二) 简单理解一下 Lex & Yacc

上一篇中,介绍了 TiDB 的入口,从根据配置启动 TiDB 到匹配 MySQL 协议,再到开始做 parser。那接下来我们就简单了解下 SQL 解析处理这一块的内容。当我还是萌新的时候,参与过 Java SQL 解析、优化器 demo 的编写,不过也只是聊到用的技术是 ANTRL ,甚至不知道为什么要做解析、优化,也不大了解是什么原理实现。最新学习 TiDB 解析优化 SQL 的流程,深觉还是要先至少简单的了解 Lex & Yacc 。它们能够让你更容易的解析复杂的语言,达成解析字符串的目的...阅读全文

Segmentfault 2020-08-06 09:32:33 Sev7ndayYo

TiDB源码阅读(一) TiDB的入口

写这个东西也只是因为想简单掌握下 TiDB 的源码,同事给了一些阅读思路,很赞。有些地方如果理解的有问题还请批评教育,对 Go 语言理解的比较有限。如果不小心误导了读者,请见谅TiDB 模块是使用 Go 语言开发的,使用 GoLand 编译器就可以了。JetBrains出品阅读源码,要寻找好的切入点,我们选择 main.go[1] 作为阅读源码的入口。tidb-server/main.go 这里的 main 函数可以 debug ,也是 TiDB 启动的开头。稍微简化一下func main() ...阅读全文

Segmentfault 2020-08-05 22:32:33 Sev7ndayYo

Go语言入门系列(三)之数组和切片

《Go语言入门系列文章》Go语言入门系列(一)之Go的安装和使用Go语言入门系列(二)之基础语法总结1. 数组数组用于存储若干个相同类型的变量的集合。数组中每个变量称为数组的元素,每个元素都有一个数字编号——数组下标,该下标从0开始,用于区别各个元素。数组中可容纳的元素个数称为数组的长度。1.1. 声明Go语言中数组的声明方式:var arr_name [length]typevar:不必多说,声明变量时都会用到该关键字。arr_name:数组名称,本质是个变量length:数组的长度type:...阅读全文

Segmentfault 2020-08-05 15:32:34 行人观学