用Go语言实现一个简单的聊天室程序来源:http://www.dotcoo.com/golang-websocket-chatroom websocket包 : code.google.com/p/go.net/websocket文档&n……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2865浏览 1138个赞
Go语言版的ip2long long2ip ip2longfunc Ip2long(ipstr string) (ip uint32) { r := `^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})` reg, err := ……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2763浏览 2391个赞
go语言编写的一个守护进程来源:http://www.dotcoo.com/golang-angel 用node写了一个socket后台服务,可是有时候会挂,node一个异常就game over了,所以写了一个守候.package main import……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2853浏览 2339个赞
按字节截取字符串 utf-8不乱码// 按字节截取字符串 utf-8不乱码func SubstrByByte(str string, length int) string { bs := []byte(str)[:length] bl := 0 for i:=len(bs)-1; i>=0; i-- { ……继续阅读 » 水墨上仙 5年前 (2021-03-14) 1657浏览 2828个赞
golang截取字符串,按字符截取func Substr(str string, start, length int) string { rs := []rune(str) rl := len(rs) end := 0 if start < 0 { start = rl - 1 +……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2591浏览 414个赞
Go语言中的匿名结构体使用范例package main import ( "fmt") func main() { var user struct{Name string; Gender int} user.Name = "dotcoo" user.Gen……继续阅读 » 水墨上仙 5年前 (2021-03-14) 3233浏览 270个赞
Go语言的排它锁sync.Mutexpackage main import ( "fmt" "sync" "time") var m *sync.Mutex func main() { m = new(sync.Mutex) go lo……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2299浏览 2165个赞
这段代码是试图打开指定的文件,然后判断是否有错误package main import ( "fmt" "os") func main() { f, err := os.Open("dotcoo.com.txt") if err != nil ……继续阅读 » 水墨上仙 5年前 (2021-03-14) 1519浏览 1598个赞
golang生成随机数可以使用math/rand包package mainimport ( “fmt” “math/rand”)func main() { for i:=0; i……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2898浏览 605个赞
Go语言计算两个经度和纬度之间的距离package main import ( "fmt" "math") func main() { lat1 := 29.490295 lng1 := 106.486654 lat2 := 29……继续阅读 » 水墨上仙 5年前 (2021-03-14) 1361浏览 2432个赞
Go语言中使用MySql,此代码需要先安装mysql的go语言驱动 首先安装mysql的go语言驱动go get github.com/ziutek/mymysql/godrv 演示代码package u……继续阅读 » 水墨上仙 5年前 (2021-03-14) 1839浏览 887个赞
package mainimport ( “fmt” “fastcgi” “os”)type Application struct {}func (a *Application) Handle(r *fastcgi.Request) bool {……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2004浏览 2658个赞
一个简单的Go语言定时器使用范例代码package mainimport ( "fmt" "time")func testTimer1() { go func() { fmt.Println("test timer1") }()}func testTimer2() { ……继续阅读 » 水墨上仙 5年前 (2021-03-14) 3225浏览 2482个赞
Go语言通过smtp发送邮件的范例代码package mainimport ( "net/smtp" "fmt" "strings")/* * user : example@example.com login smtp server user * password: xxxxx……继续阅读 » 水墨上仙 5年前 (2021-03-14) 1417浏览 2729个赞
Go语言实现的简单网络端口扫描代码package mainimport ( "net" "fmt" "os" "runtime" "time" "strconv")func loop(startport, endpo……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2829浏览 1165个赞
Go语言版的AzDG可逆加密演算法package mainimport ( "fmt" "crypto/md5" "encoding/base64" "time")var cipher = "密鑰"var h = md5.New()fu……继续阅读 » 水墨上仙 5年前 (2021-03-14) 1381浏览 723个赞
转出byte变量的二进制字符串,一眼看清byte内是什么样子func ByteToBinaryString(data byte) (str string) { var a byte for i:=0; i < 8; i++ { a = data data <<= 1 data >>= 1 swit……继续阅读 » 水墨上仙 5年前 (2021-03-14) 1956浏览 2301个赞
Go语言实现选择法排序package mainimport "fmt"func select_sort(a []int) { len := len(a) for i:=0; i < len-1; i++ { k := i j:= i + 1 for ; j < len; j++ { if a……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2242浏览 2421个赞
Go语言中使用反射的范例代码片段 // Data Modeltype Dish struct { Id int Name string Origin string Query func()} ……继续阅读 » 水墨上仙 5年前 (2021-03-14) 1544浏览 2115个赞
Go语言实现的树形结构数据比较算法的代码片段// Two binary trees may be of different shapes, // but have the same contents. For example://// 4 6// 2 6 4 7……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2053浏览 1473个赞
Go语言递归实现的斐波纳契(Fibonacci)算法package main// fib returns a function that returns// successive Fibonacci numbers.func fib() func() int { a, b := 0, 1 return func() int { a, b ……继续阅读 » 水墨上仙 5年前 (2021-03-14) 1734浏览 2648个赞
Go语言的Hello Worldpackage mainimport "fmt"func main() { fmt.Println("Hello, world")}……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2882浏览 1764个赞
Go语言压缩和解压缩tar.gz文件 golang处理压缩包,我最常用的就是tar.gz了,所以今天写了一个测试一下.代码放这里以后浏览.压缩文件package main import ( "fmt" "os" ……继续阅读 » 水墨上仙 5年前 (2021-03-14) 1566浏览 1773个赞
for 循环的 range 格式可以对 slice 或者 map 进行迭代循环。package mainimport "fmt"var pow = []int{1, 2, 4, 8, 16, 32, 64, 128}func main() { for i, v := range pow { fmt.Printf(&……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2677浏览 360个赞
GO语言实现的简单TCP服务代码package mainimport ("net""fmt")var ( maxRead = 1100 msgStop = []byte("cmdStop") msgStart = []byte("cmdContinue&quo……继续阅读 » 水墨上仙 5年前 (2021-03-14) 1706浏览 2851个赞
单例模式(Singleton):表示一个类只会生成唯一的一个对象。单例模式具有如下性质: A.这些类只能有一个实例; B.这些能够自动实例化; C.这个类对整个系统可见,即必须向整个系统提供这个实例。package singleton import "fmt" var _ins……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2799浏览 416个赞
go语言中range使用代码范例// _range_ iterates over of elements in a variety of// data structures. Let's see how to use `range` with some// of the data structures we've alread……继续阅读 » 水墨上仙 5年前 (2021-03-14) 1990浏览 1001个赞
函数函数可以没有参数或接受多个参数。在这个例子中,add 接受两个 int 类型的参数。注意类型在变量名之后。package mainimport "fmt"func add(x int, y int) int { return x + y}func main() { fmt.Println(add(42, 13))}……继续阅读 » 水墨上仙 5年前 (2021-03-14) 3008浏览 455个赞
每个 Go 程序都是由包组成的。程序运行的入口是包 main。这个程序使用并导入了包 “fmt” 和 “math”。按照惯例,包名与导入路径的最后一个目录一致。package mainimport ( "fmt" "math")func main() {……继续阅读 » 水墨上仙 5年前 (2021-03-14) 1561浏览 308个赞
这段代码把for语句当成C语言里的while(true)用实现无限循环package mainimport "fmt"func main() { sum := 0 for { sum ++ if sum > 10{ break }else{ fmt.Println(sum) } }}……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2683浏览 1861个赞
本实例先构造了一点map,添加了青岛、济南、烟台三地的拼音和汉字字典,然后删除青岛,最后查看青岛是否还存在package mainimport "fmt"func main(){ var pc map[string] string pc = make(map[string] string) pc["qingdao……继续阅读 » 水墨上仙 5年前 (2021-03-14) 1852浏览 506个赞
这段代码生成了青岛、济南、烟台三个城市拼音和汉字的对照字典,根据拼音可以输出汉字package mainimport "fmt"func main(){ var pc map[string] string pc = make(map[string] string) pc["qingdao"] = &qu……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2971浏览 2685个赞
go语言实现的sqrtpackage mymathimport "math"func InvSqrt(x float32) float32 { var xhalf float32 = 0.5*x // get bits for floating VALUE i := math.Float32bits(x) //……继续阅读 » 水墨上仙 5年前 (2021-03-14) 1422浏览 1574个赞
go语言base64加密解密代码package mainimport ( "encoding/base64" "fmt")const ( base64Table = "123QRSTUabcdVWXYZHijKLAWDCABDstEFGuvwxyzGHIJklmnopqr2345601789……继续阅读 » 水墨上仙 5年前 (2021-03-14) 3172浏览 180个赞
go语言进行文件分割的代码import ( // "bufio" "flag" "fmt" "io" "os")import "strconv"var infile *string = flag.String(&quo……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2292浏览 1444个赞
linux下通过go语言获得系统进程cpu使用情况,这段代码通过linux的系统命令 ps来分析cpu的使用情况package mainimport ( "bytes" "log" "os/exec" "strconv" "……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2258浏览 2108个赞
通过runtime库的NumCPU可以获得本机逻辑CPU的数量,不是物理CPU,比如一个双核CPU,带有超线程技术,则会被认为是4个逻辑CPUpackage mainimport ( "runtime" "fmt")func main(){ fmt.Println(runtime.NumCPU())……继续阅读 » 水墨上仙 5年前 (2021-03-14) 3167浏览 2783个赞
go语言接口简单范例 定义一个接口type I interface{ Get() int Put(int) } 这段话就定义了一个接口,它包含两个函数Get和Put ……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2004浏览 1020个赞
定义一个Add函数,用于返回两个整数的和,使用go 语句进行并行化运算,为了等待各个并行运算结束获得其返回值,需要引入channelpackage main import "fmt"func Add(x int,y int,channel chan int) { sum := library.Add(x,y) fmt.Pri……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2308浏览 1991个赞
用GO语言写邮件发送发现也是件很简单和方便的事,可能最关键还是对字符处理和业务逻辑上的很麻烦,不过主体的smtp邮件发送功能是很简单的。最近在思考一个邮件发送路由,主要为的是解决分布式邮件报警和保证邮件送达率为100%.样例参考:……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2894浏览 2745个赞
前言:最近学习Go语言 尝试写了一个简单的文件同步,基于tcp的,功能比较简单。基于Go version 1 编译。该程序的功能:只能传输单一文件,文件名不能有特殊符号和空格有serve端和client命令 使用同一个程序不能同步目录结构不能改名字无法查看进度该程序主要就是将指定的文件同步到新的服务器和指定的目录下面,并且该文件的时间和属性跟原来一样,可以……继续阅读 » 水墨上仙 5年前 (2021-03-14) 3066浏览 198个赞
来源:……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2897浏览 132个赞
defer:调用一个被 defer 的函数时在函数刚要返回之前延迟执行,当函数无论怎样返回,某资源必须释放时,可用这种与众不同、但有效的处理方式。传统的例子包括解锁互斥或关闭文件。 这样延迟一个函数有双重优势:一是你永远不会忘记关闭文件,此错误在你事后编辑函数添加一个返回路径时常常发生。二是关闭和打开靠在一起,比放在函数尾要清晰很多。 ……继续阅读 » 水墨上仙 5年前 (2021-03-14) 1924浏览 2563个赞
Go语言MessageBox示例package mainimport ( "syscall" "unsafe" "fmt")func abort(funcname string, err int) { panic(funcname……继续阅读 » 水墨上仙 5年前 (2021-03-14) 3246浏览 2089个赞
GO语言-获取系统环境变量/** * Created with IntelliJ IDEA. * User: liaojie * Date: 12-9-7 * Time: 下午8:33 * To change this template use File | Settings | File Templates. */package mai……继续阅读 » 水墨上仙 5年前 (2021-03-14) 2909浏览 651个赞