map literals

This commit is contained in:
Ginger Bill
2017-02-06 22:19:32 +00:00
parent df78b8ad3e
commit 8cfae17535
4 changed files with 136 additions and 46 deletions

View File

@@ -11,20 +11,40 @@
main :: proc() {
m: map[string]u32;
reserve(^m, 16);
defer free(m);
{
m := map[f32]int{};
reserve(^m, 16);
defer free(m);
m["a"] = 56;
m["b"] = 13453;
m["c"] = 7654;
c := m["c"];
_, ok := m["c"];
assert(ok && c == 7654);
m[1.0] = 1278;
m[2.0] = 7643;
m[3.0] = 564;
c := m[3.0];
_, ok := m[3.0];
assert(ok && c == 564);
for val, key in m {
fmt.printf("m[\"%s\"] == %v\n", key, val);
for val, key in m {
fmt.printf("m[%f] == %v\n", key, val);
}
}
{
m := map[string]u32{
"a" = 56,
"b" = 13453,
"c" = 7654,
};
defer free(m);
c := m["c"];
_, ok := m["c"];
assert(ok && c == 7654);
for val, key in m {
fmt.printf("m[\"%s\"] == %v\n", key, val);
}
}
// fm: map[128, int]f32;