如何在golang中分配一个指向接口的指针

package main

import "fmt"

type intr interface {
    String() string
}

type bar struct{}

func (b *bar) String() string {
    return "bar"
}

type foo struct {
    bar *intr
}

func main() {
    bar1 := bar{}
    foo1 := foo{bar: &bar1} 
    fmt.Println(foo1)
}

我收到编译时错误:无法在字段值中使用&bar1(类型* bar)作为类型* intr:* intr是指向接口的指针,而不是接口 为什么会发生此错误? 如何设置foo.bar?