* 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 { /* 输出结果填到这里 */ }