问题描述

 http.NewRequest 
http.NewRequest
func NewRequest(method, urlStr string, body io.Reader) (*Request, error)
 body  io,则可以将 nil 作为 body 选项传递.Reader  nil  body 
nilbodybodyio.Reader
req, err := http.NewRequest("GET", "http://www.blahblah.org", nil)
 nil 
nil

./snippets.go:32:无法将nil转换为字符串类型

./snippets.go:32: cannot convert nil to type string

我的函数的参数如下:

func getChallenges(after string) ([]challenge, string, error)

推荐答案

 nil  io.Reader 
nilio.Reader

字符串的等效零值是一个空字符串:

The equivalent zero value for a string is an empty string:

getChallenges("")

如果要接受0个或多个相同的参数类型,请使用可变参数语法:

If you want to accept 0 or more of the same argument type, you use the variadic syntax:

func getChallenges(after ...string) ([]challenge, string, error)

这篇关于Golang传递nil作为函数的可选参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!