golang常见错误

Posted no7dw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang常见错误相关的知识,希望对你有一定的参考价值。

import

import unuse package:
error : imported and not used: "os" 

:= =

c := 1 // error non-declaration statement outside function body
d = 1 // error non-declaration statement outside function body

func test(){
c = 1 //undefined: should be c:=1
//d = 1
var f , d int
f,d = cal()
fmt.Println(c, f, d)
}


right using value declare and use

package main

import "fmt"

//var a := 0 //wrong
var a int = 0
//c := 1 //wrong
//d = 1 //wrong

func cal(b int)(val1 int, val2 int){
  fmt.Println(b)
  val1 = 1
  val2 = 2
  return 
}
func test(){
  c := 1
  //d = 1 //wrong
  var f , d int
  f,d = cal(1)
  fmt.Println(c, f, d)
}
func main() {
  fmt.Println("Hello, world var")
}

declear not use

./right.go:14: c declared and not used  

type struct init using () ,instead of {} ,which {} is the right usage

type Response struct {
  Code string `json:"code"`
  Body string `json:"body"`
}
//not like this ()
//Response("OK", "ECHO: " + method + " ~ " + params)
//right usage {}
Response{"OK", "ECHO: " + method + " ~ " + params}

如何理解以下代码:

type IpcClient struct {
  conn chan string
}
func (client *IpcClient)Call(method, params string)(resp *Response, err error){
  }
  • (client *IpcClient) -- 调用的对象要是 IpcClient struct
  • (method, params string) -- 参数,前面是参数名,后面是参数类型,两种同类别省略写法。
  • (resp *Response, err error) 参数返回值,返回值的第一个参数,类型为 Response struct 对象指针, 返回值的第二个参数,类型为 error 类型,

wrong not using go keyworld when call async func

以上是关于golang常见错误的主要内容,如果未能解决你的问题,请参考以下文章

代码片段 - Golang 实现简单的 Web 服务器

代码片段 - Golang 实现集合操作

golang常见错误

Golang中读取文件最常见的错误

json [Golang] golang #golang #snippets中有用的片段

[翻译]Go的50坑:新Golang开发者要注意的陷阱技巧和常见错误[1]