首页 > 其他分享 >【4】函数与结构体

【4】函数与结构体

时间:2024-10-30 12:45:26浏览次数:6  
标签:函数 int fmt func main sum 结构

文章目录

一、函数的基本流程及调用

package main

import (
    "fmt"
    "strings"
)

// 定义简单的函数
func lowercaseWord(word string) string {
    // 函数名,形参先写变量,再定义对应的参数类型,然后再定义返回值类型
    word = strings.ToLower(word) // 函数体
    fmt.Println(word)

    return word // 函数返回值
}

func main() {
   
    lowercaseWord("ABC") // 函数调用
}

二、包的使用原理

// 包的本质是创建不同的文件夹来存放 golang 程序。
// 文件第一行package 包名,包名与所在目录名一致,golang 程序从GOPATH路径开始查找。
// 包中对外可被引入的变量,函数与方法的名字需要大写。
// 同一个包内,变量和方法名等不能重复。

package main

import (
    "code.byted.org/go_learning/utils" // 引入自定义的包,从 GOPATH 路径下开始引入
    "fmt"                              // 引入 golang 内部包
)

func main() {
   
    res := utils.LowercaseWord("ABC") // 使用引入包中的函数
    fmt.Println(res)
}

重点:如果要编译一个可执行的文件,这个包必须声明为mainpackage main // 语法规范。

三、函数的使用注意事项

  1. 支持对返回值命名:
func cal(a, b int) (s int) {
   
    s = a + b // 函数返回值声明了变量类型后,函数体内不需要再进行类型申明
    return
}
  1. go 支持自定义数据类型:
package main

import (
    "fmt"
)

type MathCal func(int, int) int // 自定义一个函数数据类型

func sub(a int, b int) int {
   
    return a - b
}

func sum(a int, b int) int {
   
    return a + b
}

func main() {
   
    var op MathCal
    op = sub
    res := op(10, 20)

    fmt.Printf("%d\n", res)
}
  1. 使用_符号,可以忽略一个返回值:
package main

func mathCal(a int, b int) (sum int, sub int) {
   
    sum = a + b
    sub = a - b
    return
}

func main() {
   
    s, _ := mathCal(1, 2)
    println(s)
}
  1. 在 go 函数中支持可变参数,可变参数需要放在形参列表最后:
package main

import "fmt"

func sumNum(a int, args...int) int {
    // 可变参数放在形参最后面
    sum := a
    for _, arg := range args {
   
       sum += arg
    }
    fmt.Println(sum)
    return sum

标签:函数,int,fmt,func,main,sum,结构
From: https://blog.csdn.net/Grit_my/article/details/143361458

相关文章

  • vs code新建项目、环境、引用本项目的其他模块或函数
    步骤1:创建项目文件夹首先,选择一个合适的位置来存放你的项目文件夹,并创建这个文件夹。浏览到你希望存放项目的位置。右键点击空白处,选择“新建”>“文件夹”,然后命名为my_new_project或其他你喜欢的名字。步骤2:在VSCode中打开项目文件夹接着,我们需要在VS......
  • GaussDB数据库基础函数介绍2
    二、GaussDB常用基础函数介绍与示例1、数字操作函数在GaussDB数据库中,数字操作函数是指用于执行数字操作的函数,例如加减乘除、取余、幂运算等。这些函数通常在数学、计算机科学和工程学等领域中使用,用于处理数字数据和执行数字操作。以下是一些常见的数字操作函数:--abs(x)--......
  • GaussDB数据库基础函数介绍1
    前言函数是数据库中最基本的组成部分之一,它们用于定义和操作数据库中的表格、记录、索引和视图等对象。在数据库中,函数的作用非常重要,因为它们可以实现数据的复杂操作,如查询、更新、删除和排序等。作为华为自主创新研发的分布式关系型云数据库,GaussDB也拥有强大的函数支持体系。......
  • 掌控物体运动艺术:图扑 Easing 函数实践应用
    现如今,前端开发除了构建功能性的网站和应用程序外,还需要创建具有吸引力且尤为流畅交互的用户界面,其中动画技术在其中发挥着至关重要的作用。在数字孪生领域,动画的应用显得尤为重要。数字孪生技术通过精确模拟现实世界中的对象、过程和系统,对动画的需求远远超过传统前端开发。在......
  • 【数据结构】哈夫曼树的构建和哈夫曼编码
    说明本篇为笔者学习随记,供学习和复习使用结构体定义typedefstruct{ intweight=0; intparent=0,lchild=0,rchild=0;}HTNode;此处=0可使结构体在构建时就自动初始化typedefchar**HuffmanCode;把多重指针换成HuffmanCode 哈夫曼树的构建构建思路:a)初始化哈夫......
  • Python基础16_数据结构:队列&树
    一、队列队列(Queue),它是一种运算受限的线性表,先进先出(FIFOFirstInFirstOut)-队列是一种受限的线性结构-受限之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作Python标准库中的queue模块提供了多种队列实现,包括普通队列、双端队列、......
  • No.3 R语言数据结构
    向量一维矩阵二维数组大于二维数据框因子列表一、数据结构1.查看变量类型class(a)2.定义数据类型定义整形:a<-3L ,加后缀L3.判断数据类型is.numeric(a)is.double(a)is.logical(a)...4.转换数据类型as.character(a):将a转换为字符型。5.其他......
  • C语言顺序表(类似数组结构)
    ////CreatedbyAdministratoron2024/10/25.//顺序表结构//#ifndefORDER_TABLE_H#defineORDER_TABLE_H/*声明顺序表的长度*/#defineSize5/***声明顺序表结构体*/typedefstructTable{int*head;intlength;intsize;}table;/***......
  • Discuz!论坛进行环境检测时提示不支持fsockopen和pfsockopen函数
    问题描述在Linux系统云虚拟主机中安装Discuz!论坛进行环境检测时,提示不支持 fsockopen() 和 pfsockopen() 函数。这两个函数与Discuz!论坛的邮件功能有关,其中 pfsockopen 是 fsockopen 的长连接版本。问题原因安全性考虑:Linux系统云虚拟主机默认禁用了 pfsockopen ......
  • GPU 学习笔记三:GPU多机多卡组网和拓扑结构分析(基于数据中心分析)
    文章目录一、概述二、数据中心(DC)2.1数据中心简介2.2传统数据中心的网络模型2.3脊叶网络模型(Spine-Leaf)2.4Facebook的Fabric网络架构三、基于数据中心的多机多卡拓扑3.1Spine-Leaf架构网络规模测算方法3.2NVIDIA多机多卡组网防止遗忘和后续翻找的麻烦,记录下平......