2021-06-12
来源:华纳网
责任编辑:王双双
人气:
核心提示:【谷雨课堂】Go实战 No.009 Go干货!函数与结构体
知识点:
函数
结构体
内容:
大家好,欢迎来到谷雨课堂
func function_name( [参数列表,可以是多个] ) [返回值类型] {
函数体
}
func:函数由 func 开始声明
function_name:函数名称,函数名和参数列表一起构成了函数签名。
参数列表:参数列表,
参数就像一个占位符,
当函数被调用时,你可以将值传递给参数,
这个值被称为实际参数。
参数列表指定的是参数类型、顺序、及参数个数。
参数是可选的,也就是说函数也可以不包含参数。
返回类型,函数返回一列值。
有些功能不需要返回值,
这种情况下返回值类型不是必须的。
函数体:函数定义的代码集合。
Go语言与其它语言相比,最大的一个特点就是函数可以有多个返回值,
//返回值可以有多个
func swap(x, y string) (string, string) {
return y, x
}
比如,上面这个函数用于调换两个输入的变量,
我们知道数组可以存储同一类型的数据,
但在结构体中我们可以同时保存不同数据类型的数据
结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。
如果要访问结构体成员,需要使用点 . 操作符,格式为:
结构体.成员名
//【谷雨课堂】Go实战 Go.009 Go干货!函数与结构体
package main
import "fmt"
//定义结构体
type TBook struct {
title string
author string
subject string
id int
}
//声明一个函数,输出两个输入函数的相加的结果
func add(a, b int) int {
//声明局部变量
var c int
c = a + b
return c
}
//返回值可以有多个
func swap(x, y string) (string, string) {
return y, x
}
//Go语言里至少有一个main函数,用于程序执行的入口
func main() {
//调用函数
fmt.Println(add(1, 2))
//调用多个返回值的函数
a, b := swap("111", "222")
fmt.Println(a, b)
//直接使用一个结构体
book := TBook{title: "谷雨课堂Go语言", author: "谷雨", subject: "Go 语言教程", id: 123}
fmt.Println(book)
//也可以这样使用结构体
var b1 TBook
b1.title = "谷雨课堂Go语言"
b1.author = "谷雨"
b1.subject = "Go 语言教程"
b1.id = 456
fmt.Println(b1)
}
除此这外,函数和结构体还可以使用指针进行各种引用,
可以大幅提高效率,
以后会陆续使用到,
函数的结构体,应用场景很多,
这部分一定要多加实际练习
完整的源代码可以登录【华纳网】下载。
https://www.worldwarner.com/
免责声明:本文仅代表作者个人观点,与华纳网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
函数
结构体
内容:
大家好,欢迎来到谷雨课堂
func function_name( [参数列表,可以是多个] ) [返回值类型] {
函数体
}
func:函数由 func 开始声明
function_name:函数名称,函数名和参数列表一起构成了函数签名。
参数列表:参数列表,
参数就像一个占位符,
当函数被调用时,你可以将值传递给参数,
这个值被称为实际参数。
参数列表指定的是参数类型、顺序、及参数个数。
参数是可选的,也就是说函数也可以不包含参数。
返回类型,函数返回一列值。
有些功能不需要返回值,
这种情况下返回值类型不是必须的。
函数体:函数定义的代码集合。
Go语言与其它语言相比,最大的一个特点就是函数可以有多个返回值,
//返回值可以有多个
func swap(x, y string) (string, string) {
return y, x
}
比如,上面这个函数用于调换两个输入的变量,
我们知道数组可以存储同一类型的数据,
但在结构体中我们可以同时保存不同数据类型的数据
结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。
如果要访问结构体成员,需要使用点 . 操作符,格式为:
结构体.成员名
//【谷雨课堂】Go实战 Go.009 Go干货!函数与结构体
package main
import "fmt"
//定义结构体
type TBook struct {
title string
author string
subject string
id int
}
//声明一个函数,输出两个输入函数的相加的结果
func add(a, b int) int {
//声明局部变量
var c int
c = a + b
return c
}
//返回值可以有多个
func swap(x, y string) (string, string) {
return y, x
}
//Go语言里至少有一个main函数,用于程序执行的入口
func main() {
//调用函数
fmt.Println(add(1, 2))
//调用多个返回值的函数
a, b := swap("111", "222")
fmt.Println(a, b)
//直接使用一个结构体
book := TBook{title: "谷雨课堂Go语言", author: "谷雨", subject: "Go 语言教程", id: 123}
fmt.Println(book)
//也可以这样使用结构体
var b1 TBook
b1.title = "谷雨课堂Go语言"
b1.author = "谷雨"
b1.subject = "Go 语言教程"
b1.id = 456
fmt.Println(b1)
}
除此这外,函数和结构体还可以使用指针进行各种引用,
可以大幅提高效率,
以后会陆续使用到,
函数的结构体,应用场景很多,
这部分一定要多加实际练习
完整的源代码可以登录【华纳网】下载。
https://www.worldwarner.com/
免责声明:本文仅代表作者个人观点,与华纳网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。