我有这样的处理程序:
type Location struct {
Lat float32 `json:"lat"`
Lon float32 `json:"lon"`
}
func handleJSONLocation(res http.ResponseWriter, req *http.Request) {
b := new(Location)
var bb Location;
buf := new(bytes.Buffer)
buf.ReadFrom(req.Body)
json.Unmarshal(buf.Bytes(), &bb)
json.NewDecoder(req.Body).Decode(b)
log.Printf("%s %f,%f %f,%f", buf.String(), b.Lat, b.Lon, bb.Lat, bb.Lon);
data, _ := json.Marshal("{'location':'saved'}")
res.Header().Set("Content-Type", "application/json; charset=utf-8")
res.Write(data)
}
Run Code Online (Sandbox Code Playgroud)
我明白了
2014/04/25 22:05:55 {"lat":42.9635013,"lon":-81.22387210000001} 0.000000,0.000000 42.963501,-81.223869
Run Code Online (Sandbox Code Playgroud)
为什么不将b对象解码成?
问候
我有一个远程应用程序(2个玩家Magic the Gathering Game)在C#中使用Windows窗体,我看到单声道的性能非常差.我能想到的一件可能影响性能的是我有按钮背景和表单背景(.png)的自定义图像.此外,我大量使用卡片图像(.jpg).最后我非常严格地坚持.NET 2.0.
我可以找到什么来改善单声道的窗体性能?如果这是不可能的,有一个快速winforms到gtk#转换器或工具,有助于转换?
我正在用C#为学校项目创建一个纸牌游戏.这个纸牌游戏是联网的.纸牌游戏的游戏数据作为gameData存储在单个对象中.gameData保持,玩家姓名,游戏等待的玩家,玩家对象.每个玩家有3个List对象.卡片再次是自定义对象.最初我打算为每个card,player和gameData对象创建一个ToByte()方法,并将它们序列化以使用TCPlistener通过网络发送.然而,我正在寻找其他方式.
这些是我听说过的解决方案:
-SOAP(不知道如何实现这个)
-Database(对于LAN来说似乎有点过分,除非可以使小型数据库服务器在运行中运行)
-Client Activated Object(但这会为每个客户端创建不同的单例)
我想做的是让每个客户端使用他们自己的gameData但使用get,设置它将与托管这个singleton对象数据的服务器通信.您有什么推荐的吗?
结束这个问题.会喝红牛.睡觉.代码和带有单元测试案例的品牌打击新问题.
更新:新文件在这里
配置文件也在这里
我再次重构了代码:
sub getColumns {
open my $input, '<', $ETLSplitter::configFile
or die "Error opening '$ETLSpliter::configFile': $!";
my $cols;
while( my $conline = <$input> ) {
chomp $conline;
my @values = split (/=>/, $conline);
if ($ETLSplitter::name =~ $values[0] ) {
$cols = $values[1];
last;
}
}
if($cols) {
@ETLSplitter::columns = split (':', $cols);
}
else {
die("$ETLSplitter::name is not specified in the config file");
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码总是死在这里die("$ETLSplitter::name is not specified in the config file");.
另一个线索是,如果我 …