golang 返回结果
时间: 2024-06-07 19:04:44 浏览: 143
【Golang】Http请求返回结果处理
在 Go 语言中,返回结果是函数执行完成后将数据传递给调用者的一种方式。Go 采用值传递(value-passing)的方式,这意味着函数内部对参数的操作不会影响原变量,除非函数显式地使用 `&` 或 `*` 操作符获取指针。对于基本类型如 int、string 和 bool,返回的是副本;对于复杂类型(结构体、切片或映射),返回的是副本的引用。
Go 函数有两种类型的返回:
1. **无返回值(void)**:
如果函数不需要返回值,可以使用 `func()` 来声明。这种函数通常用于完成某些副作用,例如打印信息或者修改外部状态。
2. **有返回值**:
函数可以返回一个或多个值,这些值可以是基本类型、复合类型(如 struct、interface、map、slice)甚至是无值的空接口 `interface{}`。返回值通常放在函数最后的 `return` 语句中,可以指定多个返回值,用逗号分隔。
示例代码:
```go
// 基本类型返回
func add(a, b int) int {
return a + b
}
// 结构体返回
type Person struct {
Name string
}
func createPerson(name string) Person {
return Person{Name: name}
}
// 接口返回
func isEven(n interface{}) bool {
if _, ok := n.(int); ok {
return n.(int)%2 == 0
}
return false
}
```
阅读全文