code: func (a *Addr) Set(v string) error {
  	a.s = v
  
  	if strings.HasPrefix(v, "FD:") {
  		fdStr := v[len("FD:"):]
  		fd, err := strconv.ParseUint(fdStr, 10, 32)
  		if err != nil {
  			return fmt.Errorf("invalid file descriptor %q: %v", fdStr, err)
  		}
  		return a.listenOnFD(uintptr(fd))
  	}
  
  	ipPort := v
  	if isPort(v) {
  		ipPort = ":" + v
  	}
  
  	_, _, err := net.SplitHostPort(ipPort)
  	if err != nil {
  		return fmt.Errorf("invalid PORT or IP:PORT %q: %v", v, err)
  	}
  	a.ln, err = net.Listen("tcp", ipPort)
  	return err
  }
docs: // Set implements the flag.Value interface.