使用golang运行命令行?

I'm just playing around with golang. I'm curious How could I run a gulpfile task from go?

Gulp task that is run from terminal typical:

gulp serv.dev

How could I run this simple line of code from golang:

package main
import (
    "net/http"
    "github.com/julienschmidt/httprouter"
    "fmt"
)

func main() {
    //what do I put here to open terminal in background and run `gulp serv.dev`
}

What you're looking for is exec.Command

You'll pretty much want to spawn off a process that will run your gulp task.

This can be done like so:

package main

import (
    "os/exec"
)

func main() {
    cmd := exec.Command("gulp", "serv.dev")
    if err := cmd.Run(); err != nil {
        log.Fatal(err)
    }
}

Take a look at exec. For your use case:

package main
import (
    "net/http"
    "github.com/julienschmidt/httprouter"
    "fmt"
    "os/exec"
    "log"
)

func main() {
    out, err := exec.Command("gulp", "serv.dev").Output()
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("The date is %s
", out)
}

Most probably you need exec package

cmd := exec.Command("gulp", "serv.dev")
err := cmd.Run()

Take a look at example at exec.Command. They explained how to pass parameters and read the output.