构建时出错,得到:“怀疑或”

我遇到了一个构建问题。我想知道这是编译器中的错误还是代码有问题。


// removed the error handling for sake of clarity 


file, _ := c.FormFile("file")

openedFile, _ := file.Open()

buffer := make([]byte, 512)

n, _ := openedFile.Read(buffer)


contentType := http.DetectContentType(buffer[:n])


// doesn't work


if contentType != "image/jpeg"  || contentType != "image/png" {

  return 

}


// works 


if contentType != "image/jpeg" {

    return

}

else if contentType != "image/png" {

    return

}

错误suspect or: contentType != "image/jpeg" || contentType != "image/png"


仅供参考“ c.FormFile("file") ”是形式杜松子酒。但这并不重要。


子衿沉夜
浏览 95回答 1
1回答

手掌心

您看到的是编译器警告,但应用程序将运行。您的情况始终是true:contentType != "image/jpeg"  || contentType != "image/png" 您将一个string变量与 2 个不同的string值(使用不相等)进行比较,因此其中一个肯定是true,并且true || false始终是true。您很可能需要逻辑 AND:我假设您想测试内容类型是否既不是 JPEG 也不是 PNG:if contentType != "image/jpeg" && contentType != "image/png" {    return }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go