Go inheritance (Access fields of "parent" struct)

In the following code I want to create a base class RunnableTask which only consists of the field Preferences. The idea is that I'll have multiple implementations of RunnableTask which all have the field Preferences. One example would be the class RenameFileTask. Each child class of RunnableTask will later also implement the interface Task. This allows be to have a different behavior for each of the implementations of RunnableTask & Task.

My problem is that I don't know how to initialize the field Preferences when creating an instance of RunnableTask. The error I get is: prog.go:17:14: unknown field 'Preferences' in struct literal of type RenameFileTask.

The following is the code condenst to only the relevant parts. (Or what I think is relevant.) If anything is missing please point it out.

In addition to here the code can be found in the Go playground.

package main

import (

type Task interface {
    Execute() Result

type RunnableTask struct {
    Preferences map[string]interface{}

type RenameFileTask struct {

func main() {
    task := RenameFileTask{
        Preferences: map[string]interface{}{
            "FilePath": path,
            "OldName":  oldName,
            "NewName":  newName,