如何用go代码修改集群配置?

tidb4.0之后的版本修改集群配置有3种:
1.tiup cluster edit-config手动填入修改的部分,然后reload
2. SQL修改(文档提示不建议生产环境使用,且可修改的范围不够大)
3. pd-ctl,tidb-ctl,tikv-ctl各种ctl修改组件配置.
但文档提示tikv-ctl的配置修改等效于第2种方法.

请问是不是各种ctl修改配置都是等效于 第二种方法在线修改集群配置?

目前有个需求就是使用go代码来完成对集群配置的修改,希望修改集群配置的方法是可以用于生产环境的.
大家有什么好的思路吗?

用 go 代码修改和其他两个相比优势在哪里? 是想达到什么效果?

简化操作,直接调用自己编写的api 完成对集群配置or tidb配置的的更改

有些参数可能就是需要重启才可以生效的。您如果自己有思路了,建议可以到github tidb 模块咨询下,多谢。
https://github.com/pingcap/tidb