-
[golang]自己动手实现ini文件读取
所属栏目:[大数据] 日期:2020-12-16 热度:95
最近迷恋go语言,但我是个编程菜鸟,这个读取参考了beego的config,只是半成品,不过能够正常运行。 接口的设计 type Parser interface {Parse() error}type Config interface {GetString(string)stringParser} 目前只支持最小操作,解析和获[详细]
-
Go如何发送广播包
所属栏目:[大数据] 日期:2020-12-16 热度:163
网络数据包的发送分为三种方式,分别是 单播、组播、广播 。 广播通俗地讲,就是让你的机器发送的数据包可以被同一个网络内的所有主机都接收到。 在讲解如何发送广播包之前,先来看看跟广播有关的知识: 我们都知道IP地址的作用是用来在网络中定位某个网络接[详细]
-
Golang后台开发初体验
所属栏目:[大数据] 日期:2020-12-16 热度:112
补充反馈 slice 既然聊到slice,就不得不提它的近亲array,这里不太想提值类型和引用类型的概念(个人觉得其实都是值类型),golang的array其实可以假想为C的struct类型,只是struct通过变量名来访问成员(如xxx.yyy),而array通过下标来访问成员(如xxx[3][详细]
-
golang 读取配置文件
所属栏目:[大数据] 日期:2020-12-16 热度:82
unix 风格的配置文件 [default]path= c:/goversion = 1.44 [test]num =666something = wrong #注释1#fdfdfd = fdfdfd 注释整行refer= refer //注释3 config.go package confimport ("bufio""io""os""strings")const middle = "========="type Config struct[详细]
-
golang(1)
所属栏目:[大数据] 日期:2020-12-16 热度:97
一直希望有个语言能像java一样自动管理内存, 又像c一样有指针;昨天偶然在blog首页看到go的介绍, 突然发现自己已经很落伍了,梦想的语言golang已经出来这么久了,自己才知道。 由于对C比较熟,面向对象对java比较熟。所以初步涉及golang,总是想c中的这些表[详细]
-
golang操作redis连接池
所属栏目:[大数据] 日期:2020-12-16 热度:58
func newPool(server,password string) *redis.Pool { return redis.Pool{ MaxIdle: 3,IdleTimeout: 240 * time.Second,Dial: func () (redis.Conn,error) { c,err := redis.Dial("tcp",server) if err != nil { return nil,err } if _,err := c.Do("AUTH",p[详细]
-
golang(2)
所属栏目:[大数据] 日期:2020-12-16 热度:165
五, Array 与 slice 数组是固定长度的,slice是长度可以变的。但是slice是寄生在array上的。 数组的赋值为有以下几种写法,但是无论那种,右边的长度在编译时都是已知的。左边则是明确写出,或者由编译器自动识别; var b[2]int=[2]int{11,12} //此时b是固[详细]
-
golang(3)
所属栏目:[大数据] 日期:2020-12-16 热度:132
八,struct struct的定义如下: type 结构体名 struct{},其中定义的变量不要var,但是仍然是倒序。 结构体变量的初始化:结构体名{}括号中的变量按照定义的顺序依次填写;如果不想写全,或者不想按顺序写,还可以写成json的格式。(这个为后续添加变量,而无[详细]
-
golang Package
所属栏目:[大数据] 日期:2020-12-16 热度:118
自定义package,首先需要设定GOPATH,这是自定义package的src文件以及生成.a文件的存放地;假设GOPATH的值为~/mypackage,则需要在mypackage目录下,创建src,bin,pkg目录,其中src目录下存放源码。pkg目录下会存放由go install生成的.a文件; 此处有个一注[详细]
-
golang(0)
所属栏目:[大数据] 日期:2020-12-16 热度:176
我从 1 年前开始关注 Golang,但一直没有时间细致地学习 Golang 的语法。 有关设计哲学,和语法的概览,我倒是看了不少,前两天买了一本《Go语言程序设计》,打算认真学习一下。 作为一个 C++ 出身的程序员,以及一个 Unix 粉,和一个开源主义者,Golang 的设[详细]
-
学习Golang语言(6):类型--切片
所属栏目:[大数据] 日期:2020-12-16 热度:86
学习Golang语言(1): Hello World 学习Golang语言(2): 变量 学习Golang语言(3):类型--布尔型和数值类型 学习Golang语言(4):类型--字符串 学习Golang语言(5):类型--数组 学习Golang语言(6):类型--切片 在很多应用场景中,数组不能够满足我们的需求。在初始定义[详细]
-
golang 格式化输入输出
所属栏目:[大数据] 日期:2020-12-16 热度:193
fmt 包实现了格式化 I/O 函数,类似于 C 的 printf 和 scanf。格式“占位符”衍生自 C,但比 C 更简单。【打[详细]
-
Go by Example: Variadic Functions(可变参数函数)
所属栏目:[大数据] 日期:2020-12-16 热度:122
Go by Example: Variadic Functions 可变参数函数在调用时可以接收任意个数的参数。例如,fmt.Println是一个常见的可变参数函数。 variadic- function .go packagemainimport"fmt"funcsum(nums...int){//这个函数将使用任意个数的int做为参数fmt.Print(nums,[详细]
-
go语言基础语法思维导图
所属栏目:[大数据] 日期:2020-12-16 热度:188
还在完善。。。[详细]
-
go方法的深入探究(7.21增补)
所属栏目:[大数据] 日期:2020-12-16 热度:199
1)哪些类型可以有方法: 1)只能对命名类型和命名类型的指针编写方法; 2)不能对接口类型和接口类型的指针编写方法; 3)只能在定义命名类型的那个包编写其方法。 2)receiver是值的方法,编译器会隐式的生成一个receiver是对应类型指针的同名方法。反过来[详细]
-
求n以内的所有素数(Golang)
所属栏目:[大数据] 日期:2020-12-16 热度:179
packagemainimport("fmt""math")funcprime(valueint)bool{ifvalue=1{returnfalse}ifvalue==2||value==3||value==5||value==7{returntrue}ifvalue%2==0||value%3==0||value%5==0||value%7==0{returnfalse}factor:=7c:=[]int{4,2,4,6,6}max:=int(math.Sqrt(flo[详细]
-
Go语言学习笔记(三) [控制结构、内建函数]
所属栏目:[大数据] 日期:2020-12-16 热度:177
日期:2014年7月21日 一、控制结构 1、Go中,只有几个控制结构,它没有do或者while循环,有for,灵活的switch语句和if,在switch中可以接受像for那样可选的初始化语句,另外Go中还提供了类型选择和多路通信转接器的select。Go的控制结构的语法和C相比有所不[详细]
-
golang中省略返回值造成内存泄漏
所属栏目:[大数据] 日期:2020-12-16 热度:70
我已经两次因为不恰当的省略go中的函数返回值,一次造成MySql的too many connection错误,一次造成严重的内存泄漏。所以在这里大家分享一下这个问题和解决办法,也提醒自己以后不要再犯类似的错了。 众所周知,go中的函数可以返回多个值。但很多时候我们并不[详细]
-
编译原理手记04-通过状态图设计词法分析器
所属栏目:[大数据] 日期:2020-12-16 热度:134
状态图的元素: 圆圈 - 状态 箭头 - 状态的转换,通常附近会标明转换条件 星号 - 再peek一个字符 例如一个标识符的词法解析状态图: 根据状态图,我们就可以写出相应的程序出来,上面这个状态图转化成程序后大概如下: var token stringfor { // ch代表每次读[详细]
-
golang test cannot find import
所属栏目:[大数据] 日期:2020-12-16 热度:176
1. 可以import别的项目的main package. 2. 但是引用别的项目main package的时候,需要首先删除~/bin/main_package_name(你所引用的报名),不然回报错"cannot find import".此问题好像是golang自身test工具的bug. 3.go test一个包A的话,系统只会init此包,和被此[详细]
-
golang之web
所属栏目:[大数据] 日期:2020-12-16 热度:128
大多数编程语言之上的 Web 开发框架都是遵照 MVC 的处理流程去开发 Web 应用:Model 部分封装数据,Controller 部分处理业务逻辑,View 部分植入变量填充模板页面。而大部分 Web 框架关于 MVC 的三部分都是在 Server-side 处理,比如对 View 部分的处理都是在[详细]
-
GOLANG版的快速排序与冒泡排序
所属栏目:[大数据] 日期:2020-12-16 热度:92
一直很少接触算法之类的(我用的是PHP),今天突然看了一下,并用GO语言写了出来。非常喜欢GO语言,可能是有 一点GOOGLE情结吧~。发在这里记录下,也希望对跟我一样的初学者有所帮助。 下面是代码, 注意在Go里传递Array参数会自动转换为Slice,而Slice是引[详细]
-
golang list.remove
所属栏目:[大数据] 日期:2020-12-16 热度:139
for循环删除的时候要用临时变量保存e.Next(),删除后再赋值给e,否则删除后e=nil就直接退出了 func TestList(t *testing.T) {l := list.New()for i := 0; i 10; i++ {l.PushBack(i)}//fmt.Printf("%v",l.)for e := l.Front(); e != nil; e = e.Next() {fmt.P[详细]
-
golang 聊天室
所属栏目:[大数据] 日期:2020-12-16 热度:78
最近看了一些关于golang的资料,发现它的WEBSOCKT实现真起来真的很容易,下面是代码 go.net/websocket是需要安装的,这个自己装上就行 package main import ( "container/list" "fmt" "go.net/websocket" "io" "net/http" ) var connid int var conns *list.[详细]
-
golang net http库相关超时的设置
所属栏目:[大数据] 日期:2020-12-16 热度:125
net.http 包中的超时设置 服务端 app.Server.ReadTimeout app.Server.WriteTimeout 是针对所有请求设置的选项 默认 net.http keepalived 开启,超时时间为 3 分钟,如下 1942 type tcpKeepAliveListener struct { 1943 *net.TCPListener 1944 } 1945 1946 fu[详细]
