-
Go基础
所属栏目:[大数据] 日期:2020-12-16 热度:86
0. 环境准备 1. 安装 下载并安装 goland ide 编辑器 下载 golang 文件并安装 2. 测试 1. go 每个 go 源代码文件开头必须是,package 声明,代表数据哪个包 声明 main,代表可以编译 有且只有一个 main 函数,主函数 导入的包必须使用,不使用会报错 左括号不[详细]
-
简析 Golang IO 包
所属栏目:[大数据] 日期:2020-12-16 热度:140
简析 Golang IO 包 io 包提供了 I/O 原语(primitives)的基本接口。io 包中定义了四个最基本接口 Reader、Writer、Closer、Seeker 用于表示二进制流的读、写、关闭和寻址操作。这些原语和接口是对底层操作的封装,因此如没有特殊说明,这些原语和接口都不能[详细]
-
GoCN每日新闻(2019-09-28)
所属栏目:[大数据] 日期:2020-12-16 热度:175
?GoCN每日新闻(2019-09-28) 1.?可视化Go程序的调用图? https://truefurby.github.io/go-callvis/ 2.?Go?modules编写和发布官方教程? https://blog.golang.org/publishing-go-modules 3.?使用Go代替bash编写脚本? https://presstige.io/p/Using-Go-instead-of[详细]
-
golang---命令源码文件与命令行参数
所属栏目:[大数据] 日期:2020-12-16 热度:82
命令源码文件是程序的运行入口,是每个可独立运行的程序必须拥有的。 ? import "flag"? flag包实现了命令行参数的解析。每个参数认为一条记录,根据实际进行定义,到一个set集合。每条都有各自的状态参数。 在使用flag时正常流程:? 1.? 通过flag.String(),f[详细]
-
Golang网络编程(二):并发Server
所属栏目:[大数据] 日期:2020-12-16 热度:119
一、概述 上一篇实现了一个server和client通信,完成了小写转大写的功能,但是是一个单任务式的响应:客户端发送连接接收响应,程序结束;服务端则接收数据响应数据也结束!就实际需要而言,并没有很大的用处,所以现在我们就给客户端和服务端添加上并发功能[详细]
-
Golang网络编程(二):并发Server
所属栏目:[大数据] 日期:2020-12-16 热度:166
一、概述 上一篇实现了一个server和client通信,完成了小写转大写的功能,但是是一个单任务式的响应:客户端发送连接接收响应,程序结束;服务端则接收数据响应数据也结束!就实际需要而言,并没有很大的用处,所以现在我们就给客户端和服务端添加上并发功能[详细]
-
Golang(十一)TLS 相关知识(二)OpenSSL 生成证书
所属栏目:[大数据] 日期:2020-12-16 热度:162
0. 前言 接前一篇文章,上篇文章我们介绍了数字签名、数字证书等基本概念和原理 本篇我们尝试自己生成证书 参考文献:TLS完全指南(二):OpenSSL操作指南 1. OpenSSL 简介 OpenSSL 是一个开源项目,其组成主要包括三个组件: openssl:多用途的命令行工具 l[详细]
-
Golang switch语句总结
所属栏目:[大数据] 日期:2020-12-16 热度:82
switch 语句基本结构 switch 条件表达式 {case 常量表达式1: 语句 1case 常量表达式2: 语句 2 . . .case 常量表达式n: 语句 ndefault: 语句 n+1} 执行流程 (1)计算条件表达式的值value (2)如果value满足某条case语句,则执行该语句,执行完跳出switch语[详细]
-
golang版本管理工具GO111MODULE
所属栏目:[大数据] 日期:2020-12-16 热度:182
在go1.11版本前,想要对go语言包进行管理,只能依赖第三方库实现,比如 Vendor, GoVendor, GoDep, Dep, Glide 等等。 1. 开启GO111MODULE 用环境变量? GO111MODULE ?开启或关闭模块支持,它有三个可选值: off 、 on 、 auto ,默认值是? auto 。 GO111M[详细]
-
golang静态编译
所属栏目:[大数据] 日期:2020-12-16 热度:197
golang 的编译(不涉及 cgo 编译的前提下)默认使用了静态编译,不依赖任何动态链接库。 这样可以任意部署到各种运行环境,不用担心依赖库的版本问题。只是体积大一点而已,存储时占用了一点磁盘,运行时,多占用了一点内存。早期动态链接库的产生,是因为早[详细]
-
高性能异步批量ping的golang实现
所属栏目:[大数据] 日期:2020-12-16 热度:166
一个监控项目有个需求,会对一批域名全国的边缘节点进行探测,这里包括,丢包率,http 响应时间,探测频率大概时间是2min 一个周期。这里的域名大概有几百个甚至上千。由于是golang 写的调度和agent, 所以,这里探测丢包率是一个有意思的问题。由于目前git[详细]
-
golang命令行参数解析
所属栏目:[大数据] 日期:2020-12-16 热度:191
1. os基础处理 os包中有一个string类型的切片变量os.Args,其用来处理一些基本的命令行参数,它在程序启动后读取命令行输入的参数。参数会放置在切片os.Args[]中(以空格分隔),从索引1开始(os.Args[0]放的是程序本身的名字)。 fmt.Println("Parameters:"[详细]
-
golang --strings
所属栏目:[大数据] 日期:2020-12-16 热度:99
strings 包中的函数和方法 // strings.go ------------------------------------------------------------ // Count 计算字符串 sep 在 s 中的非重叠个数 // 如果 sep 为空字符串,则返回 s 中的字符(非字节)个数 + 1 // 使用 Rabin-Karp 算法实现 func Coun[详细]
-
golang中的struct标签tag
所属栏目:[大数据] 日期:2020-12-16 热度:105
这个以前用beego时涉及过,时间久了,就忘了。 现在k8s里的controller,一样用了这个语法, 再拾起来吧。 http://www.01happy.com/golang-struct-tag-desc-and-get/ 但这个帖子中,bson的tag没有测试成功,再议吧。 package mainimport ("encoding/json""fmt[详细]
-
golang 判断IPv4 or IPv6 address
所属栏目:[大数据] 日期:2020-12-16 热度:99
import stringsfunc IsIPv4(address string ) bool { return strings.Count(address, " : " ) 2 }func IsIPv6(address string ) bool { return strings.Count(address, " : " ) = 2 }[详细]
-
golang初探与命令源码分析
所属栏目:[大数据] 日期:2020-12-16 热度:164
前段时间有群友在群里问一个go语言的问题: 就是有一个main.go的main函数里调用了另一个demo.go里的hello()函数。其中main.go和hello.go同属于main包。但是在main.go的目录下执行go run main.go却报hello函数没有定义的错: 代码结构如下: **gopath ---- sr[详细]
-
select操作
所属栏目:[大数据] 日期:2020-12-16 热度:99
1.Go语言中打印结构体推荐使用“%+v”,而不是“%v”。看一下二者区别: v := info{"Nan",33} fmt.Printf("%vn",v) // {Nan 33} fmt.Printf("%+vn",v) // {name:Nan id:33} //2.select对管道的操作:https://www.jianshu.com/p/2a1146dc42c3func test(){ va[详细]
-
Golang 笔记 2 函数、结构体、接口、指针
所属栏目:[大数据] 日期:2020-12-16 热度:174
一、函数 ??Go中函数是一等(first-class)类型。我们可以把函数当作值来传递和使用。Go中的函数可以返回多个结果。 ??函数类型字面量由关键字func、由圆括号包裹声明列表、空格以及可以由圆括号包裹的结果声明列表组成。其中参数声明列表中的单个参数声明之间[详细]
-
Golang 笔记 1 基础、基本数据类型
所属栏目:[大数据] 日期:2020-12-16 热度:188
一、Go语言基础 1. 基础 Go语言中的标识符必须以字母(Unicode字母,PHP/JS可以用中文作为变量名)下划线开头。大写字母跟小写字母是不同的:Hello和hello是两个不同的名字。 ??Go中有25个关键字: break default func interface select case defer go map struc[详细]
-
Golang 笔记 4 defer、error、panic
所属栏目:[大数据] 日期:2020-12-16 热度:184
一、defer语句 ??defer语句仅能被放置在函数或方法中。它由关键字defer和一个调用表达式组成。这里的表达式所表示的既不能是对Go语言内建函数的调用也不能是对Go语言标准库代码包unsafe中的那些函数的调用。实际上,满足上述条件的表达式被称为表达式语句。[详细]
-
Golang 微信机器人包
所属栏目:[大数据] 日期:2020-12-16 热度:107
一、 ? ? 最近用在学习golang,写了个小工具练练手。通过golang模拟微信网页端,接收微信服务器的消息并定制。可接入图灵机器人的api实现一个微信机器人的小玩具,当然了,可以有更多更好玩的玩法。 二、? ? ? 地址:?https://github.com/Orlion/Gochat ? ? G[详细]
-
Golang 笔记 5 go语句
所属栏目:[大数据] 日期:2020-12-16 热度:74
? ?Go语句和通道类型是Go语言的并发编程理念的最终体现。与defer语句相同,go语句也可以携带一个表达式语句。Go语句的执行会很快结束,并不会对当前流程的进行造成阻塞或明显的延迟。一个简单的示例: go fmt. Println ( "Go") ??go语句仅由一个go关键字和一[详细]
-
Golang 笔记 3 if、switch、for、select语句
所属栏目:[大数据] 日期:2020-12-16 热度:83
一、if语句 ??Go的流程控制主要包括条件分支、循环和并发。 ??if语句一般由if关键字、条件表达式和由花括号包裹的代码块组成。在Go中,代码块必须由花括号包裹。这里的条件表达式是结果类型为bool的表达式。例: if number 10 { number += 3} ??else分支: if[详细]
-
Go 接口类型
所属栏目:[大数据] 日期:2020-12-16 热度:153
接口作用 Go 语言中的接口是一种类型,类似于 Python 中的抽象基类。 Go 语言中使用接口来体现多态,是 duck-type 的一种体现。 如,只要一个东西会叫,会走,那么我们就可以将它定义为一个动物的接口。 接口定义 Go 中提倡面向接口编程,以下是接口的定义。[详细]
-
Go strconv包
所属栏目:[大数据] 日期:2020-12-16 热度:57
strconv包 该包主要实现基本数据类型与其字符串表示的转换。 常用函数为 Atoi() 、 Itia() 、 parse 系列、 format 系列、 append 系列。 更多函数请查看官方文档。 string与int类型转换 Atoi() 该函数用于将字符串类型的整数转换为 int 类型,函数签名如下[详细]
