0

[Go] 利用函数类型实现封装中的回调

当进行业务逻辑开发的时候,经常要进行封装,封装成独立的类文件,在类文件的属性中预留出函数类型的API 在调用该类文件中某些方法的时候,也根据业务需要调用类属性中的函数, 在主业务中可以传递特定的函数注册到属性中,也会被调用到 test.php connection.go是封装的类文件,回调类主模块中 ...

陶士涵 发布于 2019-12-15 16:25 评论(0)阅读(3)
0

【Go入门学习】理解区分数组和切片

一、前言 学过 Go 的都知道在 Go 语言中有四种复合数据类型:数组、切片(Slice)、哈希表(Map)和结构体(Struct),而很多 Go 初学者也很容易把数组和切片弄混淆,所以要怎么把这两个数据类型分清楚呢? 二、数组 1.简介 数组是聚合类型,是一组同类型数据的集合,通过从0开始的下标索 ...

TM0831 发布于 2019-12-15 13:09 评论(0)阅读(11)
0

[Go] 轻量服务器框架基础TCP服务模块

框架要先把整体的结构定义好,一般都是在$GOPATH目录的src下建立自己的目录 zinterface是一些接口的定义 znet就是接口的具体实现 IServer.go server.go一个tcp服务端的基本业务,简单的原样回显 单独在src下创建测试目录 server.go ...

陶士涵 发布于 2019-12-15 13:06 评论(0)阅读(5)
0

golang包管理的古往今来

https://golang.org/ before GO1.5-GOPATH 在GO1.5之前用GOPATH以及GOROOT这两个环境变量来决定包的位置。 GOROOT就是告知当前go的安装位置,编译的时候从GOROOT去找sdk的system library。 GOPATH的目的是为了告知go, ...

蒹葭白鹿 发布于 2019-12-14 14:37 评论(0)阅读(14)
0

[Go] 实现websocket服务端

直接使用官方子包可以实现websocket协议, golang.org/x/net/websocket 如果在这个目录没有这个包就去github下载net库,放进这个目录$GOPATH/src/golang.org/x/net就行了 服务端代码: package main import ( "tim ...

陶士涵 发布于 2019-12-14 00:19 评论(0)阅读(12)
0

Golang中的布隆过滤器

[toc] 1. 布隆过滤器的概念 布隆过滤器(Bloom Filter) 是由 Howard Bloom在1970年提出的 ,它具有很好的 ,被用来 ,即判定 两种情况。如果检测结果为是,该元素不一定在集合中;但如果检测结果为否,该元素一定不在集合中,因此Bloom filter 。 2. 布隆过 ...

布史 发布于 2019-12-12 21:21 评论(0)阅读(20)
0

CentOS7 如何升级Git

CentOS7自带的git版本1.8.3.1,这个版本有点低了。于是决定折腾升级,我首先想到的是用update更新: yum update git 结果,事与原违,还是1.8.3.1。在网上提供的升级方案,其本上都是先删除原来的,然后在官网上下载最新的,自己make,但是很折腾人啊,make过程中也 ...

MrBug 发布于 2019-12-12 18:01 评论(0)阅读(8)
4

Go游戏服务端框架从零搭建(一)— 架构设计

五邑隐侠,本名关健昌,10年游戏生涯,现隐居海边。 本教程以Go语言分区游戏服务端框架搭建为例。 Go语言是Google开发的一种静态强类型、编译型、并发型、具有垃圾回收功能的编程语言。语法上近似C语言,支持接口、可通过struct包含另一个struct方式实现继承等面向对象的概念。性能上媲美C/C ...

五邑隐侠 发布于 2019-12-12 08:03 评论(3)阅读(445)
0

[Go] golang定时器的使用

golang中的定时器是使用的chanel阻塞来实现的,主要使用到了time包中的内容,如果有多个定时器的channel,为了防止阻塞,可以使用select来获取遍历channel 定时器获取的channel是个单通道channel,只能读不能写,定义时这样来定义var test <-chan in ...

陶士涵 发布于 2019-12-11 17:02 评论(0)阅读(12)
0

centos安装go环境

centos安装go环境 1,下载合适的go安装包 https://studygolang.com/dl 2 上传到 centos服务器的 /usr/local下然后解压 3.设置go的环境变量 vim /etc/profile 保存后执行 source /etc/profile 使其生效 GOPA ...

pingyi 发布于 2019-12-11 13:33 评论(0)阅读(14)
0

GO与PHP的AES交互,key长度问题

今天在使用go与php的AES加解密交互中,一直有个问题那就是在go中加密后,在php端始终都是无法解密,经过排查最后发现是加密key长度引起的问题, 这里简单记录下。 go的AES使用的是第三方的库, "openssl" ,因为用的匆忙,没注意看文档,所以就直接弄了示例代码,才发现和php端无法解 ...

随彦心MO 发布于 2019-12-11 02:21 评论(0)阅读(17)
1

Github 上的个人项目开源心得

"原文链接 https://elfgzp.cn/2019/12/09/gortal site project" 由于最近在 Github 发了一个个人开源项目 "「gortal」一个使用 Go 语言开发的,超级轻量的堡垒机(跳板机)服务" ,于是想写一篇博文来记录一下自己的开源心得。 虽然不是第一次 ...

elfgzp 发布于 2019-12-10 11:35 评论(0)阅读(37)
0

Github访问速度很慢的原因,以及解决方法

1,CDN,Content Distribute Network,可以直译成内容分发网络,CDN解决的是如何将数据快速可靠从源站传递到用户的问题。用户获取数据时,不需要直接从源站获取,通过CDN对于数据的分发,用户可以从一个较优的服务器获取数据,从而达到快速访问,并减少源站负载压力的目的。 2,为什 ...

路人Q 发布于 2019-12-10 01:34 评论(0)阅读(163)
0

国内的go get问题的解决 --gopm

一、golang之旅--gopm 1.什么是gopm 在nodejs中我们有npm,可以通过npm来下载安装一些依赖包。在go中也开发了类似的东西,那就是gopm。这玩意儿是七牛开发的。在这里说下,七牛公司大部分程序都是用go语言编写的,所以开发出这么一个方便的东西肯定也是合情合理的。 2.gopm ...

路人Q 发布于 2019-12-10 01:21 评论(0)阅读(19)
0

make和new关键字的区别及实现原

new 和 make 是两个内置函数,主要用来创建并分配类型的内存。在我们定义变量的时候,可能会觉得有点迷惑,不知道应该使用哪个函数来声明变量,其实他们的规则很简单, new 只分配内存, make 只能用于 slice、map 和 channel 的初始化, 下面我们就来具体介绍一下: new 在 ...

路人Q 发布于 2019-12-09 20:29 评论(0)阅读(16)
1

Go语言nil:空值/零值

在 Go 语言中,布尔类型的零值(初始值)为 false,数值类型的零值为 0,字符串类型的零值为空字符串"",而指针、切片、映射、通道、函数和接口的零值则是 nil。nil 是Go语言中一个预定义好的标识符,有过其他编程语言开发经验的开发者也许会把 nil 看作其他语言中的 null(NULL), ...

路人Q 发布于 2019-12-09 20:11 评论(0)阅读(23)
0

sync.Map(在并发环境中使用的map)

sync.Map 有以下特性: 需要并发读写时,一般的做法是加锁,但这样性能并不高,Go语言在 1.9 版本中提供了一种效率较高的并发安全的 sync.Map,sync.Map 和 map 不同,不是以语言原生形态提供,而是在 sync 包下的特殊结构。 无须初始化,直接声明即可。 sync.Map ...

路人Q 发布于 2019-12-09 17:04 评论(0)阅读(26)
0

golang输出双精度浮点例子(Printf)

1 package main 2 3 import "fmt" 4 5 func main() { 6 var sum int = 17 7 var count int = 5 8 var mean float64 9 10 mean = float64(count) / float64(sum) ...

唐朝Coding 发布于 2019-12-08 14:42 评论(0)阅读(11)
0

go-爬图片

go语言爬取图片 注:动态加载出来的爬取不到,或怕取出来图片出错,代码中的网页是可以正常爬取的 go package main import ( "fmt" "io" "net/http" "os" "regexp" "strconv" _ "strings" ) func SaveImg(idx ...

跌倒的小黄瓜 发布于 2019-12-07 12:58 评论(0)阅读(29)
0

go-爬段子

爬取搞笑的段子,横向爬取+纵向爬取 横向爬取爬页数,纵向爬取,爬每页的内容 go package main import ( "fmt" "io" "net/http" "os" "regexp" "strconv" "strings" ) func HttpGet(url string) (res ...

跌倒的小黄瓜 发布于 2019-12-07 12:56 评论(0)阅读(21)