-
Golang 编写 Tcp 服务器
所属栏目:[大数据] 日期:2020-12-16 热度:133
Golang 作为广泛用于服务端和云计算领域的编程语言,tcp socket 是其中至关重要的功能。无论是 WEB 服务器还是各类中间件都离不开 tcp socket 的支持。 Echo 服务器 拆包与粘包 优雅关闭 与早期的每个线程持有一个 socket 的 block IO 模型不同,多路IO复用模[详细]
-
理解Go语言的nil
所属栏目:[大数据] 日期:2020-12-16 热度:158
转自:https://studygolang.com/articles/9506 最近在油管上面看了一个视频:Understanding nil,挺有意思,这篇文章就对视频做一个归纳总结,代码示例都是来自于视频。 nil是什么 相信写过Golang的程序员对下面一段代码是非常非常熟悉的了: if err != nil[详细]
-
Golang里边的map变量是什么?
所属栏目:[大数据] 日期:2020-12-16 热度:100
结论:是一个指向hmap结构体类型的指针。 首先我们来看一段代码: 输出是true,m是一个指针,fn内部申请的map[int][int]不影响外部m。 ? 所有m是一个指针,那具体m的结构是什么呢?可以通过gdb调试: ?所以一切明了,就是一个指针。[详细]
-
vscode 所需go包及其安装方式
所属栏目:[大数据] 日期:2020-12-16 热度:71
go get -u -v github.com/tpng/gopkgsgo get -u -v github.com/lukehoban/go-find-referencesgo get -u -v github.com/ramya-rao-a/go-outlinego get -u -v github.com/acroca/go-symbolsgo get -u -v golang.org/x/tools/cmd/gurugo get -u -v golang.org/x[详细]
-
golang函数二
所属栏目:[大数据] 日期:2020-12-16 热度:167
? ? ? ? ? ? ? ? ? ? ? ? ? ?[详细]
-
golang中net/http包的简单使用
所属栏目:[大数据] 日期:2020-12-16 热度:157
一、介绍 http包提供了http客户端和服务端的实现 Get,Head,Post和PostForm函数发出http、https的请求 程序在使用完回复后必须关闭回复的主体 #简单的访问网站,由于没有添加header,访问数据不正确package mainimport ( "fmt" "io/ioutil" "net/http" )fun[详细]
-
golang中使用gorm连接mysql操作
所属栏目:[大数据] 日期:2020-12-16 热度:104
一、代码 package main import ( " fmt " " github.com/jinzhu/gorm " _ " github.com/go-sql-driver/mysql " " time " )type User struct { UserId int `gorm: " primary_key " ` Phone string WxopenId string Tcreate * time.Time Tprocess * time.Time B[详细]
-
golang协程同步的几种方法
所属栏目:[大数据] 日期:2020-12-16 热度:161
目录 golang协程同步的几种方法 协程概念简要理解 为什么要做同步 协程的几种同步方法 Mutex channel WaitGroup golang协程同步的几种方法 本文简要介绍下go中协程的几种同步方法。 协程概念简要理解 协程类似线程,是一种更为轻量级的调度单位,但协程还是[详细]
-
golang windows程序获取管理员权限(UAC )
所属栏目:[大数据] 日期:2020-12-16 热度:59
在windows上执行有关系统设置命令的时候需要管理员权限才能操作,比如修改网卡的禁用、启用状态。双击执行是不能正确执行命令的,只有右键以管理员身份运行才能成功。 为解决此问题,花了很长时间找了各种方法,最终找到一个简单的方法,双击也能执行成功了[详细]
-
Go:grpc
所属栏目:[大数据] 日期:2020-12-16 热度:166
一、grpc安装 将 https: // github.com/google/go-genproto 放到 $GOPATH/src/google.golang.org/genproto 将 https: // github.com/grpc/grpc-go 放到 $GOPATH/src/google.golang.org/grpc 将 https: // github.com/golang/text 放到 $GOPATH/src/golang.or[详细]
-
golang-复习1
所属栏目:[大数据] 日期:2020-12-16 热度:98
结构体: 是一种数据类型 type Person struct{? //l类型定义,地位等价与 int byte boo string ……通常放在全局位置 name string sex byte age int } 普通变量定义和初始化: 1.顺序初始化:依次将结构体内部所有成员初始化 var man Person = Person{"andy"[详细]
-
golang ---变量
所属栏目:[大数据] 日期:2020-12-16 热度:163
Go语言变量的声明(使用var关键字) Go语言是静态类型语言,因此变量(variable)是有明确类型的。编译器会检查函数调用中,变量类型的正确性。在数学概念中,变量表示没有固定值且可改变的数。但从计算机系统实现角度来看,变量是一段或多段用来存储数据的[详细]
-
换个语言学一下 Golang (12)——Web基础
所属栏目:[大数据] 日期:2020-12-16 热度:191
我们平时浏览网页的时候,会打开浏览器,输入网址后按下回车键,然后就会显示出你想要浏览的内容。在这个看似简单的用户行为背后,到底隐藏了些什么呢? 对于普通的上网过程,系统其实是这样做的:浏览器本身是一个客户端,当你输入URL的时候,首先浏览器会去[详细]
-
golang切片和数组的区别
所属栏目:[大数据] 日期:2020-12-16 热度:65
好久的没有写博客了,这段时间没事研究了下go这门语言。 我们先介绍下go中的数组和切片的区别和用法 说了这么多 我们先来看段代码吧 var arr1 [3]intvar arr2 [3]int = [3]int{1,2,3}fmt.Println(arr1)fmt.Println(arr2) ?我申明了两个数组,初始化和没初始[详细]
-
无法下载golang.org-x-net解决方法
所属栏目:[大数据] 日期:2020-12-16 热度:199
由于go的很多包都依赖了google官方的包,而google官方的包都在google服务器上,因为某些原因无法直接访问,在搜索了很多解决方案后,找到了最简单的一个方法: 1. 找到对应包在github的地址 2. go get这个地址的包 3. 在本地创建包的原地址的文件夹 4. 将git[详细]
-
Go语言环境配置
所属栏目:[大数据] 日期:2020-12-16 热度:180
下载安装 国内的Go下载站点,根据自己的系统选择对应的版本进行下载安装: https://studygolang.com/dl Go的安装方式除了源码安装,其他的都相当简答,就不过多的赘述了。 环境变量 下面介绍下Go语言中需要设置的一些环境变量,具体如何设置这些环境变量,请[详细]
-
Golang中的标志绝对需要值吗?
所属栏目:[大数据] 日期:2020-12-16 热度:194
使用golang中的标志包,我可以拥有标志,我只需要知道它们的存在吗?像rails -s一样,标志“s”没有任何值,但程序可以知道标志s的存在. 解决方法 是的,在 flag package documentation中,它表示可能的命令行标志语法之一是-flag.您应该尝试使用Bool或BoolVar函数[详细]
-
如何在golang上的UDP服务器上获取客户端IP地址?
所属栏目:[大数据] 日期:2020-12-16 热度:109
我成功地运行了一个udp服务器 func main() { service := "0.0.0.0:27014" udpAddr,err := net.ResolveUDPAddr("udp4",service) checkError(err) conn,err := net.ListenUDP("udp",udpAddr) checkError(err) for { handleClient(conn) }} 但我想知道如何找出[详细]
-
cast – golang将一个字符串转换为net.IPNet类型
所属栏目:[大数据] 日期:2020-12-16 热度:131
我有一段CIDR表示法的字符串.它们都是ipv4和ipv6,我需要将它们转换为net.IPNet类型. 我怎么在golang做这个? 示例字符串: 192.168.1.1/24 fd04:3e42:4a4e:3381 :: / 64 解决方法 正如cnicutar所说使用net.ParseCIDR. 这是一个关于如何实际使用它的工作示[详细]
-
golang包的内部组织与许多文件
所属栏目:[大数据] 日期:2020-12-16 热度:51
我有一个Go图书馆,我想分发.它有62个源文件,但我想将API保存在一个包中.有没有办法在单个包中使用多个目录代码?它不是一个庞大的源,因为源文件本身很小,我想保持这种方式,如果可能的话,使它可以导航. 由于它是用其他语言的类似库建模的,因此它目前有两个包[详细]
-
在golang中传输一个大文件
所属栏目:[大数据] 日期:2020-12-16 热度:120
客户端发送文件,大小可能超过5G,到从服务器,而不是从服务器发送到主服务器. 奴隶会将临时文件保存到自身吗?我不希望它发生,因为它会降低上传速度并浪费奴隶的记忆. 有什么办法可以避免这个吗在golang中传输大文件的最佳方法是什么? 解决方法 是的,有一种避[详细]
-
Golang GAE – HTML模板没有正确地将链接插入网页
所属栏目:[大数据] 日期:2020-12-16 热度:119
我在Google App Engine上使用Google Go.我将结构中的字符串描述保存到数据存储区中,如下所示: type Foo struct{ Bar string} 该描述包括html标签,例如: a href="/"Bar/a 我希望html模板在html文件中包含该描述,因此它将被解析为html.例如: htmlheadtitleT[详细]
-
golang实现路由中间件middleware
所属栏目:[大数据] 日期:2020-12-16 热度:179
registerHandlers.go package routerimport ( "../ctrl" "../funcs" "github.com/julienschmidt/httprouter" "net/http")type middleWareHandler struct { r *httprouter.Router}func NewMiddleWareHandler(r *httprouter.Router) http.Handler { m := middl[详细]
-
Golang – 如何在特定时间执行功能
所属栏目:[大数据] 日期:2020-12-16 热度:146
我需要在一天的特定时间运行一个函数(例如0010,0610,1210,1810).我当前的方法使用了一个自动收报机_ =范围时间.选择(21600 * time.Second)并且我在这些间隔之一(例如1210)手动启动程序.这显然是次优的. 什么是最好的解决方案?我想过每60秒运行一次自动收报[详细]
-
GoLang – 有没有办法分析使用反射的代码的内存使用情况?
所属栏目:[大数据] 日期:2020-12-16 热度:124
我正在项目中使用gocraft / web,并且正在尝试调试一些高内存使用情况. gocraft / web使用反射来调用处理程序.我已经设置了net / http / pprof profiler,它运行得非常好,但是最大的内存块,以及我重复使用的内存块,只显示了reflect.Value.call作为函数.这不是[详细]
