Discar com um endereço / interface específico? Golang

Eu tenho duas interfaces de rede no meu computador (eth0 e eth1) e estou tentando discar uma conexão usando uma específica (eth1). Dada a afirmação de que Go é uma linguagem do sistema que eu assumi, mas é realmente possível com a biblioteca padrão atual?

Até agora eu tenho que pegar a interface pelo nomeInterfaceByName (eth1), então eu vou ao longo doAddrs método e extraiu o primeiro endereço [0] que parece ser o endereço de origem da interface eth1 (por exemplo, xxx.xxx.xxx/24); o outro é o endereço ipv6.
Eu criei um novoDialer E definirDialer.LocalAddr com o endereço extraído. No entanto, recebo este erromismatched local address type o que parece relacionado à função dialSingle dedial.go

Editar Algum código:

package main
import (
        "net"
        "log"
)

func main(){
        ief, err := net.InterfaceByName("eth1")
        if err !=nil{
                log.Fatal(err)
        }
        addrs, err := ief.Addrs()
        if err !=nil{
                log.Fatal(err)
        }
        d := net.Dialer{LocalAddr: addrs[0]}
        _, err = d.Dial("tcp", "google.com:80")
        if err != nil {
                log.Fatal(err)
        }
}

Resultado:2014/12/10 17:11:48 dial tcp 216.58.208.32:80: mismatched local address type ip+net

questionAnswers(1)

yourAnswerToTheQuestion