返回顶部
首页 > 资讯 > 后端开发 > GO >Golang中的init ()函数怎么使用
  • 488
分享到

Golang中的init ()函数怎么使用

2023-07-04 11:07:16 488人浏览 独家记忆
摘要

本文小编为大家详细介绍“golang中的init ()函数怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Golang中的init ()函数怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Go in

本文小编为大家详细介绍“golang中的init ()函数怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Golang中的init ()函数怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

Go init函数的详细说明

初始化每个包后,会自动执行init()函数,并且执行优先级高于主函数的执行优先级。

init函数通常用于:

  • 变量初始化

  • 检查/修复状态

  • 注册器

  • 运行计算

包初始化

为了使用导入的程序包,必须首先对其进行初始化。初始化始终在单个线程中执行,并且以程序包依赖关系的顺序执行。这由Golang的运行时系统控制,如下图所示:

  • 初始化导入的包(递归导入)

  • 计算并为块中声明的变量分配初始值

  • 在包中执行初始化函数

Golang中的init ()函数怎么使用

initial.go

package mainimport "fmt"var _ int64=s()func init(){  fmt.Println("init function --->")}func s() int64{  fmt.Println("function s() --->")  return 1}func main(){  fmt.Println("main --->")}

执行结果

function s() —>
init function —>
main —>

即使程序包被多次导入,初始化也只需要一次。

特性

init函数不需要传入参数,也不需要返回任何值。与main相比,init没有声明,因此无法引用。

package mainimport "fmt"func init(){  fmt.Println("init")}func main(){  init()}

编译上述函数“undefined:init”时发生错误。

每个源文件可以包含一个以上的init函数,请记住,写在每个源文件中的“行进方式”只能包含一个init函数,这有点不同,因此进行下一个验证。

package mainimport "fmt"func init(){  fmt.Println("init 1")}func init(){  fmt.Println("init2")}func main(){  fmt.Println("main")}

从上面的示例中,您可以看到每个源文件可以包含多个init函数。

初始化函数的一个常见示例是设置初始表达式的值。

var precomputed=[20]float64{}func init(){  var current float64=1  precomputed[0]=current  for i:=1;i<len(precomputed);i++{    precomputed[i]=precomputed[i-1]*1.2  }}

因为不可能在上面的代码(这是一条语句)中将for循环用作预先计算的值,所以可以使用init函数来解决此问题。

Go套件汇入规则的副作用

Go非常严格,不允许引用未使用的软件包。但是有时您引用包只是为了调用init函数进行一些初始化。空标识符(即下划线)的目的是解决此问题。

import _ "image/png"

读到这里,这篇“Golang中的init ()函数怎么使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网GO频道。

您可能感兴趣的文档:

--结束END--

本文标题: Golang中的init ()函数怎么使用

本文链接: https://lsjlt.com/news/344664.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Golang中的init ()函数怎么使用
    本文小编为大家详细介绍“Golang中的init ()函数怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Golang中的init ()函数怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Go in...
    99+
    2023-07-04
  • golang init函数的用法是什么
    在Go语言中,init()函数是一个特殊的函数,用于在包被导入时执行一些初始化操作。init()函数在程序运行时自动被调用,且没有参...
    99+
    2023-10-20
    golang
  • Go语言之init函数怎么使用
    今天小编给大家分享一下Go语言之init函数怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。init函数会在main函...
    99+
    2023-07-02
  • golang init函数没有执行怎么解决
    如果在Go中没有执行init函数,可能存在以下几种情况和解决方法: 忘记导入包:确保你已经正确导入了包,因为只有导入了包,包中的...
    99+
    2023-10-22
    golang
  • Go语言中init函数与匿名函数使用浅析
    目录init函数基本介绍注意事项和细节案例匿名函数介绍调用方式方式1方式2init函数 基本介绍 每一个源文件都可以包含一个init函数,该函数会在main函数执行前,被Go运行框架...
    99+
    2023-01-16
    Go init函数与匿名函数 Go init函数 Go匿名函数
  • python init函数的作用是什么
    Python中的`__init__()`函数是一个特殊的方法,用来初始化(或者说,构造)一个类的实例。这个方法会在创建类的实例时自动...
    99+
    2023-09-15
    python
  • golang中的defer函数怎么用
    本文小编为大家详细介绍“golang中的defer函数怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“golang中的defer函数怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。golang的defe...
    99+
    2023-07-04
  • Golang函数类型怎么使用
    这篇文章主要介绍了Golang函数类型怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Golang函数类型怎么使用文章都会有所收获,下面我们一起来看看吧。一、函数类型的定义和使用在Golang中,函数类型...
    99+
    2023-07-06
  • golang sort排序函数怎么使用
    在Go语言中,使用sort包中的Sort()函数可以对切片进行排序。 首先,需要导入sort包: import "sort...
    99+
    2023-10-21
    golang
  • golang不定参函数怎么使用
    这篇文章主要介绍了golang不定参函数怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇golang不定参函数怎么使用文章都会有所收获,下面我们一起来看看吧。Golang中的不定参函数是指函数可以接受不同...
    99+
    2023-07-06
  • golang recover函数使用的坑怎么解决
    这篇文章主要讲解了“golang recover函数使用的坑怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“golang recover函数使用的坑怎么解决”吧!一...
    99+
    2023-07-05
  • Golang:未使用的函数
    问题内容 我最近开始学习golang,由于一些奇怪的原因,即使我在代码中使用了一个函数,vscode 也说该函数未使用,代码如下: package prime import ( ...
    99+
    2024-02-06
  • golang函数中使用goroutine有什么限制?
    在函数中使用 goroutine 的限制包括:无法退出父函数、无法直接返回结果和可能发生 goroutine 泄漏。为了返回结果,需要使用通道进行通信;为了避免泄漏,需要正确关闭 gor...
    99+
    2024-05-04
    限制 golang
  • golang函数中使用goroutine有什么好处?
    在 go 函数中使用 goroutine 的优势包括:1. 提高并发性,可同时执行多个任务;2. 提高性能,创建和管理 goroutine 的成本低于线程;3. 减少锁竞争,gorout...
    99+
    2024-05-02
    并发 golang
  • golang函数中回调函数的作用
    go 中回调函数在函数中作为参数传递,用于在特定事件或条件发生后执行特定动作,增强代码的可重用性和扩展性。主要作用为:事件处理:作为事件侦听器的回调处理程序,在事件发生时采取动作。数据处...
    99+
    2024-04-25
    golang 回调函数 git
  • Golang函数的defer语句在文件关闭中怎么使用
    这篇文章主要介绍了Golang函数的defer语句在文件关闭中怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Golang函数的defer语句在文件关闭中怎么使用文章都会有所收获,下面我们一起来看看吧。G...
    99+
    2023-07-06
  • spring bean标签中的init-method和destroy-method怎么使用
    这篇文章主要介绍了spring bean标签中的init-method和destroy-method怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇spring bean标签中的ini...
    99+
    2023-07-06
  • golang中的.()怎么使用
    这篇文章主要介绍“golang中的.()怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“golang中的.()怎么使用”文章能帮助大家解决问题。什么是.()用法?在golang中,.()被称为...
    99+
    2023-07-05
  • 使用golang函数的优缺点?
    go 函数的优势在于可重用性、模块性、抽象和可测试性,但也有性能开销、过度使用和命名约定方面的缺点。在实践中,函数可用于封装通用逻辑,如计算两个数的和,从而提高代码的可维护性和可重用性。...
    99+
    2024-04-19
    golang 优缺点
  • 使用Golang自调用函数
    IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天编程网给大家整理了《使用Golang自调用函数》...
    99+
    2024-04-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作