// Copyright 2019 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package a import ( "errors" "strings" ) var G interface{} func Unmarshal(data []byte, o interface{}) error { G = o v, ok := o.(*map[string]interface{}) if !ok { return errors.New("eek") } vals := make(map[string]interface{}) s := string(data) items := strings.Split(s, " ") var err error for _, item := range items { vals[item] = s if item == "error" { err = errors.New("ouch") } } *v = vals return err }