- 浏览: 50664 次
- 性别:
- 来自: 青岛
最新评论
文章列表
golang/php计算两个经纬度之间的距离
- 博客分类:
- golang
golang版本
package main
import (
"fmt"
"math"
)
func main() {
lat1 := 29.490295
lng1 := 106.486654
lat2 := 29.615467
lng2 := 106.581515
fmt.Println(EarthDistance(lat1, lng1, lat2, lng2))
}
// 返回值的单位为米 ...
golang/PHP输出excel
- 博客分类:
- golang
http://www.dotcoo.com/golang-math-rand
以前输入excel的时候utf8总是乱码还是用其他方式把utf8转换为gbk才能显示,呵呵,其实是输出了csv,后来群里的朋友说需要utf8 BOM Excel才能正常识别utf8,今天测试了一下,很爽,比以前省了好几行代码.呼呼
BOM信息参考:
http://zh.wikipedia.org/wiki/%E4%BD%8D%E5%85%83%E7%B5%84%E9%A0%86%E5%BA%8F%E8%A8%98%E8%99%9F
golang实现:
package main
i ...
golang 判断文件是否存在
- 博客分类:
- golang
golang判断文件是否存在有点怪异,是判断在操作文件时返回的错误信息来判断的,不能直接根据路径判断,感觉怪异.呵呵
package main
import (
"fmt"
"os"
)
func main() {
f, err := os.Open("dotcoo.com.txt")
if err != nil && os.IsNotExist(err) {
fmt.Printf("file not exist!\n&q ...
golang匿名结构体
- 博客分类:
- golang
http://www.dotcoo.com/golang-anonymous-struct
golang匿名结构体
package main
import (
"fmt"
)
func main() {
var user struct{Name string; Gender int}
user.Name = "dotcoo"
user.Gender = 1
fmt.Printf("%#v\n", user)
}
package main
...
golang截取字符串 按字符截取
- 博客分类:
- golang
http://www.dotcoo.com/golang-substr-char
golang截取字符串,按字符截取
func Substr(str string, start, length int) string {
rs := []rune(str)
rl := len(rs)
end := 0
if start < 0 {
start = rl - 1 + start
}
end = start + length
if start > end {
...
golang版ip2long long2ip
- 博客分类:
- golang
http://www.dotcoo.com/golang-ip2long-long2ip
其实也没什么难度的.写完放到这里分享下.
AddrToUint32
func AddrToUint32(addr net.Addr) (uint32, error) {
var ip net.IP
switch ipaddr := addr.(type) {
case *net.IPAddr:
ip = ipaddr.IP
case *net.IPNet:
ip = ipaddr.IP
case ...
golang守护进程
- 博客分类:
- golang
用node写了一个socket后台服务,可是有时候会挂,node一个异常就game over了,所以写了一个守候.
package main
import (
"log"
"os"
"os/exec"
"time"
)
func main() {
lf, err := os.OpenFile("angel.txt", os.O_CREATE | os.O_RDWR | os ...
php排它锁lock
- 博客分类:
- php
有些时候要进行一些操作但是,不能和其他进程冲突,这时候就用到了锁.
<?php
$f = fopen("a.txt", "w+");
flock($f, LOCK_EX);
echo "look file\n";
sleep(10);
flock($f, LOCK_UN);
echo "release file\n";
fclose($f);
这样就可以执行独享的操作了.
golang排序实现 sort接口实现
- 博客分类:
- golang
http://www.dotcoo.com/golang-sort
今天看见群里再讨论排序的sort.Interface的实现,有童鞋一直搞不定,我就上手了一下,哦耶搞定了,代码放在这里.
其实很简单sort.Interface借口有三个方法,给自己的struct实现这三个方法,然后用将自己的结构体传给sort.Sort方法就排序完成.
当然sort包也有几个常用的方法sort.Float64Slice sort.IntSlise sort.StringSlise,呵呵
package main
import (
"fmt& ...
golang websocket 简易聊天室
- 博客分类:
- golang
先说点无关的,最近忙于工作没有更新博客,今天休息顺便把golang websocket研究了一下,挺好玩的,写了一个聊天室,分享给大家.
websocket包 : code.google.com/p/go.net/websocket
文档 : http://go.pkgdoc.org/code.google.com/p/go.net/websocket
首先安装websocket包
go get code.google.com/p/go.net/websocket
下来就是聊天室代码了,呵呵
golang websocket 聊天室
package main
im ...
golang压缩,解压tar.gz文件
- 博客分类:
- golang
http://www.dotcoo.com/golang-tar-gzip
golang处理压缩包,我最常用的就是tar.gz了,所以今天写了一个测试一下.代码放这里以后浏览.
压缩文件
package main
import (
"fmt"
"os"
"io"
"archive/tar"
"compress/gzip"
)
func main() {
// file write
fw, err ...
golang队列,堆栈实现
- 博客分类:
- golang
golang,其实我的实现是利用container/list包实现的,其实container/list包很强大.
package main
import (
"fmt"
"container/list"
)
func main() {
// 生成队列
l := list.New()
// 入队, 压栈
l.PushBack(1)
l.PushBack(2)
l.PushB ...
golang通过smtp发送电子邮件
- 博客分类:
- golang
http://www.dotcoo.com/golang-smtp-mail
今天写了一个公司的邮件发送后台服务,php只需要把邮件存入数据库,然后golang写的mailservice就会吧邮件发送出去.这个公司的代码就不发出来的,以为带有公司的业务逻辑,我把代码整理了一下发布出来供大家参考.呵呵
package main
import (
"fmt"
"net/mail"
"net/smtp"
"encoding/base64"
)
fun ...
golang image 例子
- 博客分类:
- golang
golang处理图片挺简单的,我是过功能挺简单的,没有过一个缩略图方法.
package main
import (
"fmt"
"os"
"image"
"image/color"
"image/draw"
"image/jpeg"
)
func main() {
f1, err := os.Open("1.jpg")
if err != nil { ...
golang 读写文件
- 博客分类:
- golang
怎么能吧这个忘了,golang读写文件最近本的,哈哈
package main
import (
"fmt"
"os"
)
func main() {
f, err := os.OpenFile("file2.txt", os.O_RDWR | os.O_CREATE | os.O_APPEND, 0x644)
if err != nil {
panic(err)
}
defer f.Close()
...