深入解析golang编程中函数的用法_Golang

函数是一组一起执行任务的语句。每Go程序具有至少一个函数,它一般是main(),以及所有的最琐碎程序可以定义附加函数。

你可以将代码放到独立的功能。如何划分代码之间的不同功能,但逻辑上的划分通常是让每个函数执行特定的任务。

函数声明告诉编译器有关的函数的名称,返回类型和参数。一个函数定义提供了函数的实际主体。

Go语言标准库提供了大量的内置函数,在程序可以调用。例如,函数len()需要不同类型的参数和返回值的类型的长度。例如,如果一个字符串传递给它,它会返回字符串的长度以字节为单位,如果一个数组传递给它,它就会返回数组的长度为它所拥有元素的个数。

函数称为具有各种名字等的方法或子例程或程序等。

定义一个函数:
在Go编程语言的函数定义的一般形式如下:

复制代码 代码如下:

func function_name( [parameter list] ) [return_types]
{
   body of the function
}

在Go编程语言中的函数定义由函数头和函数体。这里是一个函数的所有部分:

  • func 开始函数的声明。
  • Function Name: 这是该函数的实际名称。函数名和参数列表一起构成了函数签名。
  • Parameters: 参数是像一个占位符。当调用一个函数,你传递一个值的参数。这个值被称为实际参数或参数。参数列表指的类型,顺序和数量的函数的参数。参数是可选的;也就是说,一个函数可包含任何参数。
  • Return Type: 函数可能返回值的列表。return_types是该函数返回值的数据类型的列表。有些函数执行所需的操作没有返回值。在这种情况下,return_type不是必需的。

Function Body: 函数体包含了定义函数操作语句的集合。

例子:
下面是一个函数的源代码称为max()。这个函数有两个参数num1与num2并返回两者之间的最大值:

复制代码 代码如下:

/* function returning the max between two numbers */
func max(num1, num2 int) int
{
   /* local variable declaration */
   result int

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

调用一个函数:
创建一个Go编程的函数必须做一个定义。要使用函数,需要调用该函数来执行规定的任务。

当程序调用函数,程序控制被转移到所调用的函数。调用函数定义执行任务时,被执行的return语句或达到其功能结束的右括号,则返回程序控制返回到主程序。

要调用一个函数,只需要通过必要的参数以及函数的名称,如果函数返回一个值,那么可以存储返回值。例如:

复制代码 代码如下:

package main

import "fmt"

func main() {
   /* local variable definition */
   var a int = 100
   var b int = 200
   var ret int

   /* calling a function to get max value */
   ret = max(a, b)

   fmt.Printf( "Max value is : %d\n", ret )
}

/* function returning the max between two numbers */
func max(num1, num2 int) int {
   /* local variable declaration */
   var result int

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

保持max()函数与main()函数并编译源代码。在运行最后的可执行文件,它会产生如下结果:

Max value is : 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
深入解析wpf编程、深入解析wpf编程 pdf、深入学习golang、golang 深入、golang 并发编程,以便于您获取更多的相关知识。

时间: 2024-10-06 05:48:21

深入解析golang编程中函数的用法_Golang的相关文章

Android编程中Perferences的用法实例分析_Android

本文实例讲述了Android编程中Perferences的用法.分享给大家供大家参考,具体如下: 浏览手机的/data/data/目录中的各个package的目录,经常会看到有一个shared_prefs文件夹,里面有一个包名_preferences.xml文件,这个文件就是要说的主角,下面简称他为配置文件: 这个文件类似于一个配置文件的角色,记录应用的一些属性值,比如如果你的应用提供了指导用户使用的向导功能,那么估计肯定会提供选项让用户来关闭这个功能,那么你可以将这个开关放置在这个文件里,下次

Python中函数的用法实例教程_python

本文以数值计算为例讲述了Python中函数的用法,分享给大家供大家参考借鉴之用.具体如下: 我们都知道圆的面积计算公式为: S = πr2 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需要计算3个不同大小的圆的面积: r1 = 12.34 r2 = 9.08 r3 = 73.1 s1 = 3.14 * r1 * r1 s2 = 3.14 * r2 * r2 s3 = 3.14 * r3 * r3 当代码出现有规律的重复的时候,你就需要当心了,每次写3.14 * x * x不仅很麻烦

Android编程中Perferences的用法实例分析

本文实例讲述了Android编程中Perferences的用法.分享给大家供大家参考,具体如下: 浏览手机的/data/data/目录中的各个package的目录,经常会看到有一个shared_prefs文件夹,里面有一个包名_preferences.xml文件,这个文件就是要说的主角,下面简称他为配置文件: 这个文件类似于一个配置文件的角色,记录应用的一些属性值,比如如果你的应用提供了指导用户使用的向导功能,那么估计肯定会提供选项让用户来关闭这个功能,那么你可以将这个开关放置在这个文件里,下次

Shell编程中Shift的用法

http://www.cnblogs.com/image-eye/archive/2011/08/20/2147153.html 前一个例子看明白了,后面还没看清楚 Shell编程中Shift的用法 位置参数可以用shift命令左移.比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1.$2.$3丢弃,$0不移动.不带参数的shift命令相当于shift 1. 非常有用的 Unix 命令:shift.我们知道,对于位置变量或命令行参数,其个数必须是确定的,或者当

Android编程中自定义dialog用法实例_Android

本文实例讲述了Android编程中自定义dialog用法.分享给大家供大家参考,具体如下: dialog是android中提供的一组弹出提示框,非常好用,可是它的样式是一个定式,有时候我们需求定义一些自己的样式 1.定义一个样式文件,此文件继承自Theme.Dialog,在style.xml文件中建立一个自己的样式 <style name="addNoteType_error_Dialog" parent="@android:Theme.Dialog">

jsp编程中session的用法实例分析_JSP编程

本文实例讲述了jsp编程中session的用法.分享给大家供大家参考,具体如下: TTP协议是无状态的,即信息无法通过HTTP协议本身进传递.为了跟踪用户的操作状态,ASP应用SESSION对象.JSP使用一个叫HttpSession的对象实现同样的功能.HTTPSession 是一个建立在cookies 和URL-rewriting上的高质量的界面.Session的信息保存在服务器端,Session的id保存在客户机的cookie中.事实上,在许多服务器上,如果浏览器支持的话它们就使用cook

Android编程中HTTP服务用法详解

本文实例讲述了Android编程中HTTP服务用法.分享给大家供大家参考,具体如下: 在Android中,除了使用java.net包下的API访问HTTP服务之外,我们还可以换一种途径去完成工作.Android SDK附带了Apache的HttpClient API.Apache HttpClient是一个完善的HTTP客户端,它提供了对HTTP协议的全面支持,可以使用HTTP GET和POST进行访问.下面我们就结合实例,介绍一下HttpClient的使用方法. 我们新建一个http项目,项目

深入解析C++编程中的纯虚函数和抽象类_C 语言

C++纯虚函数详解 有时在基类中将某一成员函数定为虚函数,并不是基类本身的要求,而是考虑到派生类的需要,在基类中预留了一个函数名,具体功能留给派生类根据需要去定义. 纯虚函数是在声明虚函数时被"初始化"为0的函数.声明纯虚函数的一般形式是 virtual 函数类型 函数名 (参数表列) = 0; 关于纯虚函数需要注意的几点: 纯虚函数没有函数体: 最后面的"=0"并不表示函数返回值为0,它只起形式上的作用,告诉编译系统"这是纯虚函数"; 这是一个

深入解析C++编程中的静态成员函数_C 语言

C++静态成员函数 与数据成员类似,成员函数也可以定义为静态的,在类中声明函数的前面加static就成了静态成员函数.如 static int volume( ); 和静态数据成员一样,静态成员函数是类的一部分,而不是对象的一部分. 如果要在类外调用公用的静态成员函数,要用类名和域运算符"::".如 Box::volume( ); 实际上也允许通过对象名调用静态成员函数,如 a.volume( ); 但这并不意味着此函数是属于对象a的,而只是用a的类型而已. 与静态数据成员不同,静态成