Submitted by gouki on 2013, May 28, 4:27 PM
利用cat将内容写入文件其实很方便:
echo 10 | cat > /var/www/test.txt
两个函数一个管道,就这样完成了。
在这里我不多介绍cat的操作用法,毕竟很多时候用cat只是为了看一个文件 ,真要学了,网上有大把的资料
事实上,想这样调整的时候是因为我在做一个处理,即PHP的函数:msg_send和shm_*系列
1、用shm_*写程序。在命令行接收,动不动就挂掉。。。我人也崩溃了,太不稳定了
2、用msg_send和msg_receive发,用msg_queue_stat统计的时候,发现即使我的内容很短,也只能qmax为40,这时候我就在想是不是有其他原因,有人说可以调整/proc/sys/fs/mqueue/msg_max,因为来自proc,所以我想到了用cat写入。于是就有了本文
---EOF---
最后,由于msg_send其实他能够接受的最大字节数就是16384,所以,如果你的内容过大。比如我一条信息就是500字节,明显qmax最多只有32.而且最大字节还不能调整。。。或者说调整无效。。。
于是我现在msg_send发送的时候,其实message的内容是文件名。receive后,读取文件内容处理完毕后删除文件 。如果处理失败,扔到failed目录里
最后再有一个程序glob("/xxxx/*")进行按批处理。
蛋疼就是这样产生的
苹果相关 | 评论:0
| 阅读:23036
Submitted by gouki on 2013, May 27, 10:18 PM
在golang里面获取时间戳并不难。只要加载time包。然后time.Now().Unix(),就可以了,但接下来转成string就麻烦了
本来,加载strconv的话,用strconv.Itoa也可以解决,但unixtime的时间戳是int64, itoa只能转32位的。这时候就只有一个恶心的办法了。
fmt.Sprintf("%d",int64),这个是肯定可以转,。。。。我现在就是用这种办法的
做个笔记
--EOF--
后记,在群里问了一下,结果asta谢就说了。明明有strconv.FormatInt,用godoc看了一下,居然没看到。可能我的版本旧了。
strconv.Format(int64 , 10) ,后面的参数是2~36,简单就是php的base_convert的go版本。看来,go做tinyurl也是用这个函数了。哈哈
感谢群友们。
---next
自此,go语言的int转换成string有3种方法
1、int32位,strconv.Itoa
2、大于32位,strconv.FormatInt()
3、万恶的fmt.Sprintf...好吧,这个我在php里是经常用来做格式化
| 评论:0
| 阅读:36953
Submitted by gouki on 2013, May 27, 6:36 PM
越来越怀念PHP的一些函数,比如md5("123456")
多方便的函数啊。但在golang就不行了。。。
1、import (
"crypo/md5"
"encoding/hex"
)
2、代码:
XML/HTML代码
- m := md5.New();
- m.Write([]byte("123456"))
- println(hex.EncodingToString(m.Sum(nil)))
是不是很麻烦??
Tags: golang, md5
| 评论:1
| 阅读:21148
Submitted by gouki on 2013, May 27, 4:12 PM
本来觉得有一个24的显示器可以用来码代码,看H片会很爽,结果用了N个办法也连接不上。。
detect的时候好象有,但VGA就是不亮。我的线是VGA的,但破显示器只支持D-SUB(还是HDMI?),只支持那个数字线。一直说我的VGA没有信号进去,好失败啊。。
但确实能够detect这个显示器。型号什么也有的,就是屏幕一片黑暗。以前连接普通的显示器也都OK。可是,这个dell的不行。纠结
Tags: mac, 多显示器
Flutter | 评论:0
| 阅读:16961
Submitted by gouki on 2013, May 24, 3:01 PM
在写一段代码测试的时候,用上了json类,因为json还算是比较常用的,所以这个的转换什么的要先掌握好。
吭嗞吭嗞写完代码,发现输出都是空,想想不科学啊,struct还是struct,为什么都输出空呢。
想着astaxie说过为了给大家写文档,特地写了一个项目gopkg,于是上去看了看:https://github.com/astaxie/gopkg/blob/master/encoding/json/Marshal.md
咦,代码结构和程序都是几乎一样的,那为什么会出错呢?
去群里问了一下,原来就是因为首字母小写的问题。
一直以为只有func的首字母大小写代表了 公有方法和私有方法,原来,变量这玩意也是这个含义。。。纠结,做个笔记备份一下:
贴出错误代码:
type ColorGroup struct {
id int
name string
color []string
}
colorgroups := ColorGroup{
id: 1,
name: "reds",
color: []string{"a", "b", "c"},
}
b, _ := json.Marshal(colorgroups)
os.Stdout.Write(b)
----
struct中的变量要注意大小写。。。。。
小写的话,在转换的时候就会隐藏掉,可以根据情况进行设置
当然,如果确实 需要小写,又需要输出,怎么办呢??
可以写tag ,参考:
type ColorGroup struct {
Id int`json:"id"`
name string `json:"name"`
color []string `json:"color"`
}
反正。。。struct输出json,一定要大写,但是如果要变成输出小写,就得用tag
如果原来就是小写,再怎么写TAG,也不会输出。。。
Tags: json, golang
| 评论:0
| 阅读:21654