系列文章目录
【Go语言学习】ide安装与配置
【GO语言基础】前言
【GO语言基础】变量常量
【GO语言基础】数据类型
【GO语言基础】控制流
【GO语言基础】函数
文章目录
- 系列文章目录
- 函数
- 基础函数
- 调用
- GoLang API(包)简单介绍
- 标准库:
- 第三方库:
- 自定义库
- 使用cdn加速拉取第三方包
函数
函数的定义:
func functionName(parameter1 type1, parameter2 type2, ...) returnType {
// 函数体
// 可以执行一系列操作
return returnValue // 可选
}
基础函数
基本函数
func Add() {
}
错误写法:
注意不要将第一个括号放新行
func Add()
{
}
简单写一个累加函数并调用:
package main
import "fmt"
// 累加函数
func Add(a int) int {
var sum int
for i := 1; i <= a; i++ {
sum += i
}
return sum
}
func main() {
fmt.Println(Add(100))
}
调用
调用基本格式:pack1.Function(arg1, arg2, …, argn)
Function
是 pack1
包里面的一个函数,括号里的是被调用函数的实参(argument):这些值被传递给被调用函数的形参(parameter)。
调用函数时,只需使用函数名称和相应的参数值。如果函数有返回值,可以将其赋给一个变量。
package main
import "fmt"
//定义Add函数
func Add(a, b float64) float64 {
return a + b
}
func main() {
//调用Add函数,计算a+b
result := Add(5.15, 3.152)
fmt.Println(result)
}
函数作为参数调用:
package main
import "fmt"
// 定义一个函数f2,它接受两个整数参数并返回它们的和、差、积
func f2(a, b int) (int, int, int) {
sum := a + b
diff := a - b
product := a * b
return sum, diff, product
}
// 定义一个函数f1,它接受一个函数f作为参数,调用f并打印返回值
func f1(f func(int, int) (int, int, int)) {
// 调用传入的函数f
result1, result2, result3 := f(5, 3)
// 打印返回值
fmt.Printf("Sum: %d, Difference: %d, Product: %d\n", result1, result2, result3)
}
func main() {
// 将函数f2作为参数传递给函数f1
f1(f2)
}
GoLang API(包)简单介绍
Go语言API(Application Programming Interface)是Go语言提供的一组规范和定义,用于编写可重用的软件组件和应用程序。API定义了应用程序如何与底层系统、库和其他程序进行交互的细节。
标准库:
Go语言的标准库提供了许多基础的API,例如fmt(格式化输出)、os(操作系统接口)、time(时间处理)等。
中文网API
import "fmt"
fmt.Println("Hello, World!")
第三方库:
许多第三方库也提供了Go语言的API,例如Gin(用于构建Web应用程序的API)、Gorm(用于数据库操作的API)等。
例如:使用mysql API
go get github.com/go-sql-driver/mysql
或
import "github.com/go-sql-driver/mysql"
自定义库
你也可以创建自己的API来提供特定的功能或服务。这通常涉及创建一个包,并在其中定义函数、类型和变量。然后,你可以将该包发布到适当的存储库或与其他人共享。
// mypackage包提供了自定义的API
package mypackage
import "fmt"
// MyFunction是一个自定义函数,可以在其他程序中使用
func MyFunction() {
fmt.Println("Hello from mypackage!")
}
使用自定义库时,你需要将该库导入到你的程序中,然后就可以使用其中的API了。
使用cdn加速拉取第三方包
使用Goland加速:
启用go模块集成
# 1. 七牛 CDN
GOPROXY=https://goproxy.cn,direct
# 2. 阿里云
GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
# 3. 官方
GOPROXY=https://goproxy.io,direct
添加后应用:
然后go get拉取需要的包即可