Go语言在线运行

版本:

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
slice 存储 k-v 对 发布于:2024-03-02 00:06 z先吃饭都是 发布于:2024-03-01 14:00 非递归实现版本 发布于:2023-12-28 21:58 递归算法实现输出指定内容 发布于:2023-12-28 21:55 水果价值问题 发布于:2023-12-28 21:46 旅游行程最优化 发布于:2023-12-28 21:34 在有序数组中查找数据元素k是否存在的算法 发布于:2023-12-28 21:22 获取rfc3339格式时间 发布于:2023-12-26 09:53 将文本编码成二进制数,并解码 发布于:2023-12-19 10:25 Go 语言测试 demo 发布于:2023-12-27 16:14 测试加密解密 发布于:2023-11-29 18:06 Test-1128-74 发布于:2023-11-28 17:44 charles 破解 发布于:2023-11-26 14:54 变量的定义 发布于:2023-11-23 13:19 这是一个go语言实验,实验了数组和切片 发布于:2023-11-16 16:43 sealos crypto debug 发布于:2024-02-22 22:26 Go 语言测试 发布于:2023-11-30 14:01 编写一个函数,将给定的整型变量加上6,使用指针实现 发布于:2023-10-30 23:47 将给定的两个整型变量的值交换,使用指针实现 发布于:2023-10-30 20:09 递归实现n! (提示用户输入一个数据,并求取这个数据的阶乘) 发布于:2023-10-30 20:04 傻逼公司出的笔试题 发布于:2023-10-26 19:34 代码版本测试 发布于:2023-10-17 15:07 输入某年某月某日,判断这一天是这一年的第几天?(提示:以 3 月 5 日为例,应该先把前两个月的加起来,然后再加上 5 天即本年的第几天,特殊情况,闰年且输入月份大于 3 时需考虑多加一天。) 发布于:2023-10-16 22:57 输入一个 5 位数,判断它是不是回文数(如 12321 是回文数,个位与万位相同,十位与千位相同)。 发布于:2023-10-16 22:45 编程实现:从控制台输入三个整数 x, y, z ,请把这三个数由小到大输出。 发布于:2023-10-16 22:32 # the first Go programm! 发布于:2023-10-16 16:32 article 测试 发布于:2023-10-16 11:21 猜单词游戏 发布于:2023-10-13 09:53 猜单词游戏 发布于:2023-10-13 09:39 彩票随机生成号 发布于:2023-10-11 11:45 mfp若依golang版 发布于:2023-09-27 00:19 解析并网柜base64数据 发布于:2023-09-28 15:03 求和成绩和平均成绩 发布于:2023-09-18 19:31 时间转换,变为0点 发布于:2023-09-19 15:01 Head first 学习使用 发布于:2023-09-10 08:18 最大公约数 发布于:2023-09-09 12:53 在有限整数序列中找到最大值的算法 发布于:2023-09-09 12:09 go语言的第一天 发布于:2023-09-08 22:43 学学玩玩看 发布于:2023-09-04 08:40 测试1似懂非懂是的 发布于:2023-08-29 11:58 测试群组旧人员是否在新插入群组里 发布于:2023-08-21 16:27 生成 Charles key 的 go 代码 发布于:2023-08-15 11:00 charles 激活码生成器 发布于:2023-08-14 21:24 这里是简介 发布于:2023-08-11 07:34 第二题小红很喜欢的往小红书分司她的日常生活。 已知她生活中有n个事件, 分享第i个事件需要她花费 ti的时间和hi的精力来编辑文章,并船获得ai的快乐值。 小红想知道,在总花费时间不超过T且总花费精力不超过H的前提下,小红最多可以获得多少快 乐值? 发布于:2023-08-06 20:05 lib1 发布于:2023-08-05 20:33 8.impoprt导包问题 发布于:2023-08-05 20:25 6.const与iota 发布于:2023-08-04 19:46 go语言测试 发布于:2023-08-01 14:50 golang测试 发布于:2023-07-26 14:13 [更多]
显示目录

函数



学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

Go 语言函数

函数是基本的代码块,用于执行一个任务。

Go 语言最少有个 main() 函数。

你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。

函数声明告诉了编译器函数的名称,返回类型,和参数。

Go 语言标准库提供了多种可动用的内置的函数。例如,len() 函数可以接受不同类型参数并返回该类型的长度。如果我们传入的是字符串则返回字符串的长度,如果传入的是数字,则返回数组中包含的函数个数。


函数定义

Go 语言函数定义格式如下:

func function_name( [parameter list] ) [return_types]{
   函数体
}

函数定义解析:

  • func:函数由 func 开始声明
  • function_name:函数名称,函数名和参数列表一起构成了函数签名。
  • parameter list]:参数列表,参数就像一个占位符,当函数被调用时,你可以将值传递给参数,这个值被称为实际参数。参数列表指定的是参数类型、顺序、及参数个数。参数是可选的,也就是说函数也可以不包含参数。
  • return_types:返回类型,函数返回一列值。return_types 是该列值的数据类型。有些功能不需要返回值,这种情况下 return_types 不是必须的。
  • 函数体:函数定义的代码集合。

实例

以下实例为 max() 函数的代码,该函数传入两个整型参数 num1 和 num2,并返回这两个参数的最大值:

/* 函数返回两个数的最大值 */
func max(num1, num2 int) int{
   /* 声明局部变量 */
   result int

   if (num1 > num2) {
      result = num1
   } else {
      result = num2
   }
   return result 
}

函数调用

当创建函数时,你定义了函数需要做什么,通过调用改函数来执行指定任务。

调用函数,向函数传递参数,并返回值,例如:

package main

import "fmt"

func main() {
   /* 定义局部变量 */
   var a int = 100
   var b int = 200
   var ret int

   /* 调用函数并返回最大值 */
   ret = max(a, b)

   fmt.Printf( "最大值是 : %d\n", ret )
}

/* 函数返回两个数的最大值 */
func max(num1, num2 int) int {
   /* 定义局部变量 */
   var result int

   if (num1 > num2) {
      result = num1
   } else {
      result = num2
   }
   return result 
}

以上实例在 main() 函数中调用 max()函数,执行结果为:

最大值是 : 200


函数返回多个值

Go 函数可以返回多个值,例如:

package main

import "fmt"

func swap(x, y string) (string, string) {
   return y, x
}

func main() {
   a, b := swap("Mahesh", "Kumar")
   fmt.Println(a, b)
}

以上实例执行结果为:

Kumar Mahesh


函数参数

函数如果使用参数,该变量可称为函数的形参。

形参就像定义在函数体内的局部变量。

调用函数,可以通过两种方式来传递参数:

传递类型 描述
值传递 值传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。
引用传递 引用传递是指在调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。

默认情况下,Go 语言使用的是值传递,即在调用过程中不会影响到实际参数。

函数用法

函数用法 描述
函数作为值 函数定义后可作为值来使用
闭包 闭包是匿名函数,可在动态编程中使用
方法 方法就是一个包含了接受者的函数
由JSRUN为你提供的Go语言在线运行、在线编译工具
        JSRUN提供的Go语言 在线运行,Go语言 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout