• 【GO语言基础】函数


    系列文章目录

    【Go语言学习】ide安装与配置
    【GO语言基础】前言
    【GO语言基础】变量常量
    【GO语言基础】数据类型
    【GO语言基础】控制流
    【GO语言基础】函数


    函数

    函数的定义:

    func functionName(parameter1 type1, parameter2 type2, ...) returnType {
        // 函数体
        // 可以执行一系列操作
        return returnValue // 可选
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    基础函数

    基本函数

    func Add() {
    }
    
    • 1
    • 2

    错误写法:注意不要将第一个括号放新行

    func Add()
    {
    }
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    简单写一个累加函数并调用:

    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))
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    调用

    调用基本格式:pack1.Function(arg1, arg2, …, argn)
    Functionpack1 包里面的一个函数,括号里的是被调用函数的实参(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)
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    函数作为参数调用:

    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)
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    在这里插入图片描述

    GoLang API(包)简单介绍

    Go语言API(Application Programming Interface)是Go语言提供的一组规范和定义,用于编写可重用的软件组件和应用程序。API定义了应用程序如何与底层系统、库和其他程序进行交互的细节。

    标准库:

    Go语言的标准库提供了许多基础的API,例如fmt(格式化输出)、os(操作系统接口)、time(时间处理)等。
    中文网API

    import "fmt"  
    fmt.Println("Hello, World!")
    
    • 1
    • 2

    第三方库:

    许多第三方库也提供了Go语言的API,例如Gin(用于构建Web应用程序的API)、Gorm(用于数据库操作的API)等。

    例如:使用mysql API
    
    go get github.com/go-sql-driver/mysql
    或
    import "github.com/go-sql-driver/mysql"
    
    • 1
    • 2
    • 3
    • 4
    • 5

    自定义库

    你也可以创建自己的API来提供特定的功能或服务。这通常涉及创建一个包,并在其中定义函数、类型和变量。然后,你可以将该包发布到适当的存储库或与其他人共享。

    // mypackage包提供了自定义的API  
    package mypackage  
      
    import "fmt"  
      
    // MyFunction是一个自定义函数,可以在其他程序中使用  
    func MyFunction() {  
        fmt.Println("Hello from mypackage!")  
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    使用自定义库时,你需要将该库导入到你的程序中,然后就可以使用其中的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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    添加后应用:
    然后go get拉取需要的包即可
    在这里插入图片描述

  • 相关阅读:
    ELK日志系统
    [TAPL] 概念笔记
    2022谷粒商城学习笔记(八)规格参数相关功能
    vue接口封装 路由拦截处理
    scala语法(二)(有java基础速学)
    JVM基础 - JAVA类加载机制
    常见视频传输接口
    JAVA毕业设计Web医学院校大学生就业信息管理系统计算机源码+lw文档+系统+调试部署+数据库
    Shell脚本中常见的几种变量类型
    java your MySQL server version for the right syntax to use near
  • 原文地址:https://blog.csdn.net/qq_39583774/article/details/132758349