-
Golang Socket编程
所属栏目:[大数据] 日期:2020-12-16 热度:118
Socket编程 在很多底层网络应用开发者的眼里一切编程都是Socket,话虽然有点夸张,但却也几乎如此了,现在的网络编程几乎都是用Socket来编程。你想过这些情景么?我们每天打开浏览器浏览网页时,浏览器进程怎么和Web服务器进行通信的呢?当你用QQ聊天时,QQ[详细]
-
[golang] 数据结构-鸡尾酒排序
所属栏目:[大数据] 日期:2020-12-16 热度:191
吐个槽 又是一个不正经取名的排序算法。真要说和鸡尾酒间的关系,大概就是想喝到鸡尾酒(得到排序好的队列)就要摇晃酒杯让不同的成分混合均匀(向两个方向冒泡排序) 原理 鸡尾酒排序(Cocktail Sort)是冒泡排序的一种优化算法。原本的冒泡排序只能在一轮中[详细]
-
【golang-GUI开发】struct tags系统(二)qt的自定义组件和构造
所属栏目:[大数据] 日期:2020-12-16 热度:105
今天我们来讲讲自定义组件和它的构造函数。 在前面的文章里我们已经接触了好几个自定组件,这次的示例是一个自定义对话框,他有一个about按钮,点击按钮可以显示出Qt的信息或者用户输入的信息。这是效果图: 下面我们就来重点讲解自定义组件和它的构造函数吧[详细]
-
golang高性能RPC:Apache Thrift安装使用完全攻略
所属栏目:[大数据] 日期:2020-12-16 热度:132
在企业应用中RPC的使用可以说是十分的广泛,使用该技术可以方便的与各种程序交互而不用考虑其编写使用的语言。 如果你对RPC的概念还不太清楚,可以点击这里。 现今市面上已经有许多应用广泛的RPC框架,比如GRPC,而今天我们要介绍的是同样使用广泛的Apache T[详细]
-
Golang 对接宝付、通联、富友金账户...填坑记
所属栏目:[大数据] 日期:2020-12-16 热度:81
一、宝付私钥加密,公钥解密 由于对RSA加密解密原理不是很熟悉,宝付也没有Golang的Demo提供。Go语言库里一般都是私钥解密、公钥加密,或者私钥签名、公钥验签。宝付需要反过来,这里也到好找到了https://github.com/farmerx/gorsa的实现,但始终宝付那边提[详细]
-
golang技巧-接口型函数
所属栏目:[大数据] 日期:2020-12-16 热度:166
接口型函数:指的是用函数实现接口,这样在调用的时候就会非常简便,这种函数为接口型函数,这种方式适用于只有一个函数的接口。 ? 定义一个类型,这个类型只定义了函数的参数列表,函数参数列表与接口定义的方法一致: type HandlerFunc func(k,v interface[详细]
-
理解golang中的function types
所属栏目:[大数据] 日期:2020-12-16 热度:99
先找个例子来看一下: package main import "fmt" // Greeting function typestype Greeting func(name string) string func say(g Greeting,n string) { fmt.Println(g(n))} func english(name string) string { return "Hello," + name} func main() { say[详细]
-
golang gomobile 环境搭建
所属栏目:[大数据] 日期:2020-12-16 热度:175
1. 安装Go语言SDK https://www.golangtc.com/download 2. 配置系统变量这建立GOROOT和GOPATH两个目录,分别对应sdk所在目录与项目文件根目录 ? 3.? 输入go version 验证是否成功 ? 4. 安装gomobile 1)cmd敲起命令(需要CMDFQ) go get golang.org/x/mobile/cm[详细]
-
golang命令行库cobra的使用
所属栏目:[大数据] 日期:2020-12-16 热度:128
简介 Cobra既是一个用来创建强大的现代CLI命令行的golang库,也是一个生成程序应用和命令行文件的程序。下面是Cobra使用的一个演示: Cobra提供的功能 简易的子命令行模式,如 app server, app fetch等等 完全兼容posix命令行模式 嵌套子命令subcommand 支[详细]
-
Viper--方便好用的Golang 配置库
所属栏目:[大数据] 日期:2020-12-16 热度:115
前言 本文主要是为读者介绍一个轻便好用的Golang配置库viper 正文 viper 的功能 ? viper 支持以下功能: ? 1. 支持Yaml、Json、 TOML、HCL 等格式的配置 ? 2. 可以从文件、io、环境变量、command line中提取配置 ? 3. 支持自动转换的类型解析 ? 4. 可以远程[详细]
-
Golang中的panic和recover(捕获异常)
所属栏目:[大数据] 日期:2020-12-16 热度:81
func panic(interface{})和func recover() interface{}是Golang中用于错误处理的两个函数。 ? panic的作用就是抛出一条错误信息,从它的参数类型可以看到它可以抛出任意类型的错误信息。在函数执行过程中的某处调用了panic,则立即抛出一个错误信息,同时函[详细]
-
使用graphql-code-generator 生成graphql 代码
所属栏目:[大数据] 日期:2020-12-16 热度:146
类似的工具比较多,比如prisma 、qloo、golang 的gqlgen、apollo-codegen graphql-code-generator 也是一个不错的工具(灵活、模版自定义。。。) 安装 npm install --save-dev graphql-code-generator graphql Or yarn add -D graphql-code-generator graph[详细]
-
golang常见错误
所属栏目:[大数据] 日期:2020-12-16 热度:68
import import unuse package:error : imported and not used: "os" := = c := 1 // error non-declaration statement outside function bodyd = 1 // error non-declaration statement outside function body func test(){ c = 1 //undefined: should be c:[详细]
-
golang处理signal
所属栏目:[大数据] 日期:2020-12-16 热度:59
signal一般用来实现优雅重启,或者重新加载配置文件等操作。 废话不多说,上表格 动作 号码 信号 golang kill pid 15 SIGTERM terminated kill -9 pid 9 SIGKILL killed (应用程序无法捕获) kill -10 pid 10 SIGUSR1 user defined signal 1 kill -12 pid 12[详细]
-
golang---fmt格式“占位符”
所属栏目:[大数据] 日期:2020-12-16 热度:77
golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。 // 定义示例类型和变量 type Human struct { Name string } var people = Human{Name: " zhangsan " } 1、普通占位符: 占位符 说明 举例 输出 %v 相应值的默认格式。 Printf( " %v " ,peo[详细]
-
golang连接rabbitmq
所属栏目:[大数据] 日期:2020-12-16 热度:140
1.docke 中安装 rabbitmq docker pull rabbitmq ? 2.运行 rabbitmq docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:latest ? 3.下载 rabbitmq golang 客户端 go get github.[详细]
-
golang中处理panic的正确姿势
所属栏目:[大数据] 日期:2020-12-16 热度:76
golang中panic的处理没有其他语言中try-catch语法那么简单。 大部分例子的panic处理都是在退出环节。那么如何在正常业务流程中处理panic,然后不影响全局呢? // 业务处理1,定义myStrctureisDone := make(chan int)go func() { defer func() { if err := re[详细]
-
golang 自定义importpath
所属栏目:[大数据] 日期:2020-12-16 热度:126
golang 的包导入和其他语言有好多不一样的地方,以下是一个自定义的导入 golang 自定义导入说明 一个官方的说明 比较简单,就不翻译了,主要是说我们可以通过添加meta 数据告诉包如何进行加载 For example,import "example.org/pkg/foo"will result in the f[详细]
-
【Golang】基础07 包的导入(import)、使用
所属栏目:[大数据] 日期:2020-12-16 热度:76
import 我们在写Go代码的时候经常用到 import 这个命令用来导入包文件,而我们经常看到的方式参考如下: import( "fmt") 然后我们代码里面可以通过如下的方式调用 fmt.Println("hello world") 上面这个fmt是Go语言的标准库,其实是去 GOROOT 环境变量指定目[详细]
-
使用GOLANG实现猴子排序
所属栏目:[大数据] 日期:2020-12-16 热度:191
实现方法(一) 利用rand函数进行随机输出,代码如下: package mainimport "fmt"import "math/rand"import "time"//确定一个切片是否是从大到小排列的,如果是返回“真”,不是则返回“假”。func isOrdered(list []int) bool { for i := 1; i len(list); i[详细]
-
golang struct 和 byte互转
所属栏目:[大数据] 日期:2020-12-16 热度:125
相比于encoding,使用unsafe性能更高 type MyStruct struct { A int B int } var sizeOfMyStruct = int ( unsafe .Sizeof(MyStruct{}))func MyStructToBytes(s *MyStruct) [] byte { var x reflect.SliceHeader x.Len = sizeOfMyStruct x.Cap = sizeOfMyStruc[详细]
-
golang导出Excel表格
所属栏目:[大数据] 日期:2020-12-16 热度:93
设置样式: package mainimport ( " github.com/tealeg/xlsx " " fmt " )func main() { var file * xlsx.File var sheet * xlsx.Sheet var row * xlsx.Row var cell * xlsx.Cell var err error style : = xlsx.NewStyle() fill : = *xlsx.NewFill( " solid "[详细]
-
golang 引用相对路径package
所属栏目:[大数据] 日期:2020-12-16 热度:91
My $GOPATH is "/Users/peter/goworkspace" Golang 版本是: go version go1. 6 darwin/amd64 在这个workspace下我有多个不同golang项目,目录结构类似于 +/goworkspace + ---/bin + ---/pkg + ---/src + ---/project1 + ---package1 + ---file1.go + ---fil[详细]
-
[golang] 数据结构-快速排序
所属栏目:[大数据] 日期:2020-12-16 热度:99
快速排序是个非常经典、高效、常用的排序算法。很多语言标准库里的排序算法都有用到它。 原理 快排原理其实比较简单,就是将原本很大的数组拆成小数组去解决问题。 要拆就得找个拆的位置。如果吧这个位置称为支点,那么快速排序问题就变成了不断的去找到拆分[详细]
-
Golang系列文章:接收命令行输入
所属栏目:[大数据] 日期:2020-12-16 热度:91
上次总结了收集命令行参数的几种方式,今天记录一下如何从命令行接收用户输入。 我们这里设计一个小需求,借助程序从命令行收集用户的逐行输入,以 bye 为结束信号,然后在输入结束后,统计每一行输入的内容和该内容出现的次数。 为了完成这个功能,我们首先[详细]
