Golangで変数内のメタ文字をエスケープさせる場合、「regexp.QuoteMeta()」で行える。 例えば、以下のようにすることでメタ文字である「[」や「+」をエスケープする。

package main

import (
    "fmt"
    "regexp"
)

func main() {
    str := "a[b+c=\\"
    fmt.Println(str)
    fmt.Println(regexp.QuoteMeta(str))
}

上のコードを実行した結果が以下。

blacknon@blacknon-ThinkPad-X201:~$ go run ./test.go
a[b+c=\
a\[b\+c=\\