title: Some probelm when I use client-go for kubernetes watch list
body: <p>I have some when I use the code in StackOverflow. Such as </p>
  
  <pre><code>package main
  
  import (
      "flag"
      "fmt"
      "time"
  
      "k8s.io/client-go/kubernetes"
      "k8s.io/client-go/pkg/api/v1"
      "k8s.io/client-go/pkg/fields"
      "k8s.io/client-go/tools/cache"
      "k8s.io/client-go/tools/clientcmd"
  )
  
  var (
      kubeconfig = flag.String("kubeconfig", "./config", "absolute path to the kubeconfig file")
  )
  
  func main() {
      flag.Parse()
      config, err := clientcmd.BuildConfigFromFlags("", *kubeconfig)
      if err != nil {
          panic(err.Error())
      }
      clientset, err := kubernetes.NewForConfig(config)
      if err != nil {
          panic(err.Error())
      }
  
      watchlist := cache.NewListWatchFromClient(clientset.Core().RESTClient(), "services", v1.NamespaceDefault,
          fields.Everything())
      _, controller := cache.NewInformer(
          watchlist,
          &amp;v1.Service{},
          time.Second * 0,
          cache.ResourceEventHandlerFuncs{
              AddFunc: func(obj interface{}) {
                  fmt.Printf("service added: %s \n", obj)
              },
              DeleteFunc: func(obj interface{}) {
                  fmt.Printf("service deleted: %s \n", obj)
              },
              UpdateFunc:func(oldObj, newObj interface{}) {
                  fmt.Printf("service changed \n")
              },
          },
      )
      stop := make(chan struct{})
      go controller.Run(stop)
      for{
          time.Sleep(time.Second)
      }
  }
  </code></pre>
  
  <p>it have some errors:</p>
  
  <ol>
  <li><p>i can not find the package <code>"k8s.io/client-go/pkg/api/v1"</code> and <code>"k8s.io/client-go/pkg/fields"</code>, i don't know how to find it:</p>
  
  <p><a href="https://github.com/kubernetes/client-go" rel="nofollow noreferrer">https://github.com/kubernetes/client-go</a></p></li>
  <li><p>the code</p></li>
  </ol>
  
  <pre><code>watchlist := cache.NewListWatchFromClient(clientset.Core().RESTClient(), "services", v1.NamespaceDefault,
          fields.Everything())
  </code></pre>
  
  <p>has the error:</p>
  
  <blockquote>
    <p>Cannot use 'clientSet.CoreV1().RESTClient()' (type rest.Interface) as
    type Getter Type does not implement 'Getter' as some methods are
    missing: Get() *restclient.Request</p>
  </blockquote>
  
  <p>Could anyone tell me how to resolve it?
  Thanks in advance.</p>