package ping import ( "fmt" "os/exec" ) func Ping(destination string, options Option) (Result, error) { option.Validate() params := make([]string, 0) params = append(params, destination) params = append(params, fmt.Sprintf("-c %d", option.Retry())) params = append(params, fmt.Sprintf("-i %d", option.Interval())) pCmd := exec.Command("ping", params...) output, err := pCmd.CombinedOutput() if err != nil { return nil, err } return parseDarwinPing(output) }