Ir plantilla eliminar la última coma en el bucle de rango

Tengo un código como este:

package main

import (
    "text/template"
    "os"
)

func main() {
    type Map map[string]string
    m := Map {
        "a": "b",
        "c": "d",
    }
    const temp = `{{range $key, $value := $}}key:{{$key}} value:{{$value}},{{end}}`
    t := template.Must(template.New("example").Parse(temp))
    t.Execute(os.Stdout, m)
}

saldrá:

clave: un valor: b, clave: c valor: d,

pero quiero algo como esto:

clave: un valor: b, clave: c valor: d

No necesito la última coma, cómo eliminarla. Encontré una solución para recorrer una matriz aquí:https://groups.google.com/d/msg/golang-nuts/XBScetK-guk/Bh7ZFz6R3wQJ , pero no puedo obtener el índice de un mapa.

Respuestas a la pregunta(2)

Su respuesta a la pregunta