Goのreflectを使う
開発環境は、Windows 10 Pro(64bit) + go version go1.15.3 windows/amd64。
package main import ( "fmt" "reflect" ) func main() { // 値のタイプを知る fmt.Println(reflect.TypeOf("Koiken")) // string // 型の種別を比較する fmt.Println(reflect.TypeOf("Koiken").Kind() == reflect.String) // true // 値のセット var s string // 中身を変更するのでポインタを渡す v := reflect.ValueOf(&s).Elem() fmt.Println(v.CanSet()) // true v.SetString("Hello reflect") fmt.Println(s) // Hello reflect }