* php assoc
private static $_GRADE_NAME_TO_ID = array(
'a' => '03-2016',
'b' => '03-2017',
'zxc' => '03-2018',
'd' => '02-2016',
'e' => '02-2017',
'f' => '02-2018',
'g' => '01-2013',
// xxasdfadsf
'z'=>'02-2018',
'x'=>'02-2017',
'c'=>'02-2016',
'v'=>'02-2015',
'se' => '03-0000',
'n' => '02-0000',
'm' => '01-0000'
);
* golang map
var GRADE_NAME_TO_ID map[string] string
m := map[string] string {
"高三": "03-2016",
"高二": "03-2017",
// ...
}
转换工具:
* rows.php
<?php
function fileForEachRow($path, $handler) {
$handle = fopen($path, "r");
if (! $handle ) {
return;
}
while (($buffer = fgets($handle, 1024) ) !== false) {
$buffer = trim($buffer);
call_user_func($handler, $buffer);
}
if (!feof($handle)) {
echo "Error: unexpected fgets() fail\n";
}
fclose($handle);
}
fileForEachRow("map.txt", function($line) {
$n = strlen($line);
if ($n === 0) {
return;
}
if (substr($line, 0, 2) === "//") {
return;
}
// echo $line.PHP_EOL;
$col = explode("=>", $line);
for ($i = 0; $i < count($col); $i++) {
$col[$i] = trim($col[$i], ", \t'\"");
}
printf("\"%s\": \"%s\",\n", $col[0], $col[1]);
});
* map.txt
'aa' => '03-2016',
'bb' => '03-2017',
'高cc' => '03-2018',
'dd' => '02-2016',
'eee' => '02-2017',
'fff' => '02-xxxx',
'小gg六' => '01-2013',
// comment
'hh'=>'02-2018',
'ii'=>'02-2017',
* run:
php rows.php
输出结果略
m := map[string] string { /* 输出结果填到这里 */ }