我在Go.my程序中编写CLI接口程序,要求用户输入文件名作为参数.以下是我编写的代码,用于处理用户未输入任何参数的情况.但它恐慌并给出错误"索引超出范围".我怎么处理这个?
package main
import (
"encoding/hex"
"fmt"
"io/ioutil"
"log"
"os"
)
func main() {
if len(os.Args) == 0 {
fmt.Println("usage: gohex <filename>")
os.Exit(1)
} else {
filename := os.Args[1]
data, err := ioutil.ReadFile(filename)
if err != nil {
log.Fatal(err)
}
fmt.Println(hex.Dump(data))
}
}
Run Code Online (Sandbox Code Playgroud) 我正在编写一个rails应用程序,用户可以拥有自己的基于用户名的子域,如GitHub pages => USERNAME.github.io
我所做的是创建一个控制器,它从请求中解析子域并找到相应的用户.
def show
@user = User.where(name: request.subdomain)
end
Run Code Online (Sandbox Code Playgroud)
现在应该如何编写我的路由,以便我可以接受任何用户特定的子域并将其指向上述控制器