jeessy2 / ddns-go

Simple and easy to use DDNS. Support Aliyun, Tencent Cloud, Dnspod, Cloudflare, Callback, Huawei Cloud, Baidu Cloud, Porkbun, GoDaddy, Namecheap, NameSilo...
MIT License
11.59k stars 1.33k forks source link

perf(params): use `NewReplacer` to replace params #1148

Closed WaterLemons2k closed 4 months ago

WaterLemons2k commented 4 months ago

What does this PR do?

Changed all ReplaceAll() to NewReplacer() to improve performance when replacing parameters.

Motivation

Compared to ReplaceAll(), NewReplacer() is probably a better choice, because you only need to maintain a list of old and new string pairs.

Additional Notes

Use a map to build parameters in callback to improve readability.

Also fixed this value of err is never used (SA4006) in NameSilo.listRecords by error handling.