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

Go语言可变参数函数,何时该使用省略号(...)

今天的一个例子中发现,对于在调用可变参数函数时,不是总能使用省略号将一个切片展开,有时候编译器可能会报错,为了清除的说明这个问题,我用几个小例子一步一步说明。 1、提出假想的需求 假如想要在一堆数据中找出最小的一个,该怎么做? 如果数据的类型为int,那么我可以这么做: func MinimumInt(first int, others ...int) int { min := first for _, value := range others { if value < min { min = value } } return min } 上述的MinimumInt函数的第二个参数声明为:others …int,表示这是一个可变参数,可以给它传入0个或者任意多个int型参数,在花栗鼠内部,...阅读全文

博文 2015-11-02 22:00:05 CMbug

golang 监听端口

package main import ( "fmt" "log" "net" "bufio" "io" ) func handleConnection(conn net.Conn) { br := bufio.NewReader(conn) for{ data, err := br.ReadString('\n') if err == io.EOF{ break } fmt.Printf("%s", data) fmt.Fprintf(conn, "OK\n") } conn.Close() } func main() { ln, err := net.Listen("tcp", ":8092") if err != nil { panic(err) } for { conn, err :...阅读全文

博文 2015-06-17 20:17:47 cauckfgf

golang高性能端口扫描器golang端口扫描器

## golang高性能端口扫描器--ScanPort ScanPort 端口扫描工具是一个可以检测服务器或是指定ip段的端口开放情况。 功能:可以快速扫描指定端口范围,ip地址范围。将扫描结果保存到本地! 先来体验一下运行后的效果: ![image.png](https://static.studygolang.com/200113/7e43c4ba5d3e7761c8135a1c2052e48e.png) ![image.png](https://static.studygolang.com/200113/e16172fd8d310c5df622f06759eeb27b.png) ### 安装使用 方法1. 你可以直接下载已编译好的文件直接运行 htt...阅读全文

开源项目 2020-01-13 18:51:19 duzhenxun

Mac下go环境变量配置

1.0 查看是否存在bash_profile cd ~/.bash_profile 2.0 如果不存在则创建bash_profile Mac环境配置文件 touch ~/.bash_profile 3.0 打开bash_profile open -t ~/.bash_profile 4.0 添加go 环境变量:(等于号后面的为你的项目存储目录) GOPATH=website/apple/apps 5.0 warning:如果因为创建bash_profile 使命令行ls命令失效而造成go语言无法安装请关注 5.1 如上打开bash_profile 并加入环境变量 export PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X1...阅读全文

Go语言(服务器开发):实现最简单的HTTP GET/POST接口

Go语言提供了http包,可以很轻松的开发http接口。以下为示例代码: package webserver import ( "encoding/json" "fmt" "net/http" "time" ) func WebServerBase() { fmt.Println("This is webserver base!") //第一个参数为客户端发起http请求时的接口名,第二个参数是一个func,负责处理这个请求。 http.HandleFunc("/login", loginTask) //服务器要监听的主机地址和端口号 err := http.ListenAndServe("192.168.1.27:8081", nil) if err != nil { fmt.Printl...阅读全文

博文 2015-06-17 23:01:43 books1958

golang测试TCP最大连接数

受限于本地端口数的分配,我想看看本地能起到多少个TCP client连接 本测试用例client和server都部署在同一台linux虚拟机上 查看进程打开的描述符数:102400(10万) [root@bogon ~]# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 15042 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited o...阅读全文

博文 2015-10-27 13:00:03 webyh

四川麻将服务器程序nanoserver

四川麻将玩法, 血战到底(三人模式/四人模式)服务器程序, 房卡模式, 支持俱乐部. 基于[`Nano`](https://github.com/lonnng/nano)开发, 本程序主要用于演示如何使用`nano`进行游戏服务器程序开发, 演示客户端下载地址: iOS: [https://fir.im/tios](https://fir.im/tios) Android: [https://fir.im/tand](https://fir.im/tand) 如果要连接自己的服务器, 可以反编译android的包, 然后修改appConfig.lua中的远程服务器地址, 然后重新打包就可以玩了. 首次运行自动创建MySQL数据库表结构 结构化日志 血战三人玩法/四人玩法完整实现...阅读全文

golang中如何使用http长链接(client端)

RESTFUL请求大部分都可以用短连接,即三次握手建立链接,交换数据完成后,释放掉的链接,短链接不会长时间占用端口号,实际项目中还会用到另一种,长链接,比如客户端发送RESTFUL请求,需要监测某一资源变化情况,服务端提供watch机制,在资源有变化时通知client端。 那么client端,相对于短链接,长链接应该怎么写呢? 和短链接基本一样,只需要循环读取server端返回的response即可。 package main import ( "fmt" "io" "log" "net/http" ) func main() { request, err := http.NewRequest("GET", "http://www.example.com/", nil) if err != ...阅读全文

博文 2017-08-15 08:05:09 风千寻艾

利用阿里云ECS跳板机内网穿透- ssh

背景: 暴露私网的一台机器,公网可访问。由于坑爹的电信没有给固定的公网IP,所以没法在路由器上配置公网转发。 网上google后,发现ssh的强大,一条命令搞定。 ``` ssh -fNgR 2222:127.0.0.1:22 101.37.XX.XX ``` 命令 | 含义 ---|--- -R port:host:port | 将远程机器的端口映射到本地。第一个port是远端服务器port,第二个port是本地port,ip地址是本地IP -f | 告诉SSH客户端在后台运行 -g | 允许远程主机可远程访问,这里有坑,下面会解释。 -N |Do not execute a shell or command. 不执行脚本或命令,通常与-f连用。 工作原理: 1、本地主机和远程主机建立连接...阅读全文

博文 2018-04-12 19:23:56 nbg_xuan

数据宝祝您开工大吉,新年新气象,优质接口来报道!

今日向您推荐: 1、银行卡四要素认证:银行卡号、姓名、身份证号、手机号四项输入进行验证,支持国内全部银联卡,实时、全五星好评,用于金融风控、智慧出行(网约车、租车)。 2、学历信息查询:输入姓名、身份证返回入学毕业时间、学校、专业等,直连数据,覆盖01年以后的全国大专以上学历查询。用于个人信用分析,推断收入和还款能力;婚庆、相亲、社交网站会员信息验证以及人事招聘信息核实。 3、京东查询:输入京东账户、密码及验证码返回京东账户信息、会员等级、订单信息等;用于小额信贷等网贷平台进行个人信用分析,消费及还贷能力评估等。 4、实名认证(人像):输入姓名及身份证号匹配一致返回身份证照片;直连数据,覆盖全国,应用于涉及身份认证、资金交易的所有平台。 现在注册认证,即可获...阅读全文

两行开启Go http quic

QUIC,简单来说,就是使用UDP的传输协议,根据Google自己的报告,速度可以加快30%。 主要优点有: 1. 快速建立链接(不用3次握手和TLS4次握手) 2. 多路复用 3. 改进的流控 4. 快速SSL/TLS握手 5. 适合移动用户访问 quic-layer 这么好的性能,当然要赶紧用Go试试看。 https://github.com/lucas-clemente/quic-go 示例中的代码也很简单。 http.Handle("/", http.FileServer(http.Dir(wwwDir))) h2quic.ListenAndServeQUIC("localhost:4242", "/path/to/cert/chain.pem", "/path/to/privkey...阅读全文

博文 2017-08-26 09:09:44 zhuo/blog

群晖 Docker 搭建自有 Leanote 服务

最近搞了台群晖 NAS,就想着搭建自己的云笔记服务。 为什么不使用已有云笔记平台? 之前接触过的云笔记主要是印象笔记和有道云笔记,各自都有非常致命的缺陷: 印象笔记: 国外的产品,由于各种不可描述的因素,功能上会有一些调整(阉割); 不支持 Markdown。 有道云笔记: bug 多; 国内这种不是太火或者说没怎么盈利的产品,始终会存在突然关掉的风险。 为什么选择 Leanote? 现在已经有不少开源的云笔记软件,谷歌上一搜一大把,选择 Leanote 主要还是一下原因: 之前和 Leanote 团队成员之一共事过,遇到什么问题咨询起来相对方便; Leanote 已有功能基本覆盖我的需求; 口碑看起来还可以。 搭建服务 既然选择了 Leanote,那就开始搭建呗。 Leanote 的后端服...阅读全文

博文 2018-08-10 18:35:00 yibuyisheng

微信中继服务器https://github.com/1046102779/wx_relay_server

# 微信中继服务器 目的:其他服务采用拉服务模式,通过rpcx进行rpc通信,获取相关微信token. 用户微信公众号第三方平台刷公众号平台和托管的公众号appid的相关token, 该服务不能停超过10分钟. 主要刷公众号第三方平台的component_access_token和preauthcode, 公众号的authorizer_access_token和authorizer_refresh_token 存储方式:etcd存储rpc服务地址和微信公众号平台和公众号token, 使用etcd的ttl特性,并watch并刷新 ## 新增服务的可靠性措施 1. 服务启动后,立即读取etcd中的所有微信公众平台和公众号数据,加载到内存中。 并监听所有token ...阅读全文

Golang ReverseProxy 简单的反向代理用于内网穿透

简单的反向代理用于内网穿透 特别注意,此工具只适合小文件类的访问测试,用来做做数据调试 前言 最近周末闲来无事,想起了做下微信公共号的开发,但微信限制只能80端口的,自己用的城中村的那种宽带,共用一个公网,没办法自己用路由做端口映射。自己的服务器在腾讯云上,每次都要编译完后用ftp上传再进行调试,非常的浪费时间。 一时间又不知道上哪找一个符合我的这种要求的工具,就索性自己构思了下,整个工作流程大致为: ##工作原理 外部请求自己服务器上的HTTP服务端 -> 将数据传递给Socket服务器 -> Socket服务器将数据发送至已连接的Socket客户端 -> Socket客户端收到数据 -> 使用http请求本地http服务端 -> 本地http服务端处理相关后返回 -> Socket客户端...阅读全文

博文 2017-11-17 23:03:30 不在乎y

19年第41周:Go语言 微信小程序获取手机号 -加密数据解密算法-AES-128-CBC

一、简介 获取手机号 获取微信用户绑定的手机号,需先调用 wx.login 接口。 因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 button 组件的点击来触发。 注意:目前该接口针对非个人开发者,且完成了认证的小程序开放(不包含海外主体)。需谨慎使用,若用户举报较多或被发现在不必要场景下使用,微信有权永久回收该小程序的该接口权限。 二、参考官方Python示例复写Golang版本 NOTE: 微信官方没有给Golang版本,但给了C++,PHP,Node,Python版本。这里选用Python来作为参考 python版本和Golang版本对比 三、参考资料 微信小程序开发指南-获取手机号 微信小程序开发指南-加密数据解密算法-官方案例下...阅读全文

博文 2019-10-07 19:32:44 aside section ._1OhGeD

beego中https监听端口冲突的问题

在开发的项目中因为安全性,需要支持https,所以在conf中增加了如下设置: EnableHttpTLS = true HttpsPort = 8888 HttpCertFile = ./server.crt HttpKeyFile = ./server.key 运行后发现第一次可以顺利运行,后面就会发生错误 [C] ListenAndServeTLS: %!(EXTRA *net.OpError=listen tcp :8888: bind: address already in use) 从错误提示来看,是端口被占用了 这个错误不知道怎么破了,或者还有参数需要设置? 哪位大大指点一下...阅读全文

golang xlsx读写

func TestRequest_LoadFromRemote2(t *testing.T) { xlsxfile2, err := xlsx.OpenFile("E:/apihub/1数据核查/信息核查数据.xlsx") if err != nil{ fmt.Println( err) return } for _, sheet := range xlsxfile2.Sheets { for indexr, row := range sheet.Rows { if indexr < 2 { continue } //if indexr >= 3{ // break //} fmt.Print(fmt.Sprint(indexr)+"姓名:",strings.Trim(row.Cells[1...阅读全文

博文 2018-06-21 15:34:38 Feng_Sir

购买国内虚拟主机怎样选择机房?需要注意什么?

购买了国内虚拟主机,怎样选择机房,成了大家头疼的事情,毕竟没有好的机房去辅助,再好的虚拟主机也不能很好的发挥。 国内虚拟主机机房的选择主要考虑是速度,安全等,另外举例网站访客的物理位置靠近,举例越短访问速度快而且稳定。 分两方面考虑,地理位置和是否备案 从地理位置上。一般情况下我们建议选择离自己目标用户所在地域最接近的数据中心,这样可以进一步提升用户访问速度。比如:华北用户推荐选北京和青岛地域,华东用户选杭州地域,华南地域用户可选广州和深圳地域。机房越近,你搭建的网站就经常有秒开的刺激。与自己的电脑本地搭建的服务器相近。 从备案与否。无论是华北机房用户,还是其他国内机房,国内机房都需要按照工信部的要求来操作,对网站进行备案,域名有备案号则可直接购买主机使用。如购买的国...阅读全文

除痛指南 | P2P公司贷前风控福利贴

最近,随着数据宝的壮大和业务多样化 (骄傲脸)宝妹接到了很多case, 宝妹发现了一些相同的烦恼 临近年末,P2P公司生意火爆, 后台提出了各式各样的烦恼或需求 但细心的宝妹还是做了一个针对性的总结; 借此,宝妹还申请到了这次的专场福利, P2P公司-李先生 宝妹,我们在核查客户信息时经常碰到盲点, 被一些假身份、假号码糊弄,求帮助! 您的问题,宝妹已经在后台收到了呢, 对于这位P2P小伙伴的烦恼, 我们为您推荐以下接口 给您一面“照妖镜”助您让假身份无所遁形, 精准辨别借贷身份真实性。 ![1..jpg](http://studygolang.qiniudn.com/161124/f46f67d68ff96fab7cd54524a96379fb...阅读全文

golang同时监听TCP、HTTP端口提供服务

项目入口 main.go 中,之前是监听 TCP 连接,代码大致如下: package main import ( "fmt" "net" "net/http" ) func main() { http.HandleFunc("/hi", Router) go http.ListenAndServe("127.0.0.1:8080", nil) server, err := net.Listen("tcp", "127.0.0.1:9090") if err != nil { panic(err) } defer server.Close() for { conn, err := server.Accept() if err != nil { continue } go handleConn...阅读全文

博文 2019-04-14 22:34:42 faunjoe

golang连接mongodb

golang连接mongodb 需要的包: "labix.org/v2/mgo" "labix.org/v2/mgo/bson" //连接数据库 session, err := mgo.Dial("10.127.2.19:27017")//要连接的服务器和端口 if err != nil { panic(err) } defer session.Close() //获取数据库,获取集合 c := session.DB("chong").C("ServiceException") result := PayException{} err = c.Find(bson.M{"payWay": "3"}).One(&result)//payway为数据库中的字段 if err != nil { pa...阅读全文

博文 2015-06-17 20:03:55 ayuyuyuxuxu

GO语言 实现端口扫描

//GO语言 实现端口扫描 //缺陷 //port 无法设置成全局变量不知道怎么设置的 //var l = list.New() 这个是数组操作并不是消息队列 跟消息队列功能类似 //实现功能 //实现生成 IP段 //实现端口扫描 //实现参数传入 //写入文件到本地 //main.go 58.215.20.30 58.215.201.30 80 //文件名 开始IP 结束IP 扫描端口 //QQ29295842 希望认识更多的朋友技术交流 //QQ群367196336 go golang WEB安全开发 // blog http://hi.baidu.com/alalmn package mai...阅读全文

写一个模仿斗地主,持续更新中

模仿斗地主,现在只写到发牌阶段,怎么抢地主,发牌还没有写,大家一起交流一下 容错,异常,流程还在考虑中,各种大神给点意见 服务端:监控7777端口 ->role1,role2,role3三人都连接上并确认 -> 发牌 客户端:连接7777端口 -> 连上确认,等待下一步 server.go client.go