首页 > 其他分享 >golang import 导入的四种方式

golang import 导入的四种方式

时间:2024-05-30 21:32:50浏览次数:18  
标签:name package 代码 golang 导入 import math

 

1 标准导入:

import "package_name"

 

2 导入别名:

import (
    alias "package_name"
)

 

3 匿名导入:

import (
    _ "package_name"
)

 

4 点导入:

import (
    . "package_name"
)

 

下面做详细解释:


Go语言最常见的导入方式是标准导入,格式如下:

import "package_name"

在这个形式中,你需要在调用包内的任何成员时使用包名作为前缀,例如:

package_name.FunctionName() 或 package_name.Type

 

此外,Go还支持导入别名,这可以用于解决包名冲突或者让代码更易读。例如:

import (
    p "github.com/henrylee2cn/pholcus/app/spider"
    m "math"
)

在这个例子中,p 是 github.com/henrylee2cn/pholcus/app/spider 包的别名,m 是 math 包的别名。在你的代码中,你可以使用 p.FunctionName() 和 m.Sqrt() 而不是完整的包名。


匿名导入:_ "package_name"
当你只需要导入包来执行它的初始化函数(如果有的话),但并不打算在代码中直接引用该包的任何符号时,可以使用匿名导入。
例如,某些包可能需要在程序启动时做一些设置或者注册,但你不需要在代码中显式调用它们的任何函数。
这种导入方式不会在你的代码中为该包创建任何别名,所以无法直接访问包内的任何成员。


点导入:. "package_name"
点导入允许你省略在调用包内函数时的包名前缀。
例如,如果你导入了一个包 math 并使用点导入,那么你可以直接写 Sqrt(x) 而不是 math.Sqrt(x)。
这种方式使得代码更简洁,但可能导致命名冲突,如果两个不同的包提供了同名的函数或变量。


匿名导入 以及 点导入,这两种导入方式并不常见,通常我们使用标准的 import "package_name" 形式,这样可以明确地引用包,并且避免不必要的初始化或潜在的冲突。

 

Link:https://www.cnblogs.com/farwish/p/18223277

标签:name,package,代码,golang,导入,import,math
From: https://www.cnblogs.com/farwish/p/18223277

相关文章

  • 使用 Vue 导入和导出 Excel XLSX--SpreadJS
    使用Vue导入和导出ExcelXLSX2024年5月29日MESCIUS的SpreadJS使您能够将功能齐全的电子表格放入您的Web应用程序中,为用户提供熟悉的类似Excel的体验。MESCIUS的SpreadJS是一款高性能JavaScript电子表格组件,旨在将类似Excel的......
  • golang context.Context 使用示例
    context在golang程序中经常被用到,它可以被用来携带一些变量,例如requestID,也可以用来做运行控制,比如TimeoutDeadline,或者人为逻辑控制Cancel。本实例程序用来简单展示各个context的使用方法。packagemainimport( "context" "fmt" "log" "time")typeCtxKeystring......
  • django import_export 可视化导入导出外键字段
    在Django中使用django-import-export库进行外键关系的数据导入时,可以通过自定义资源类来处理外键字段的解析和保存。这样可以使导入过程更加直观和有效。我们将展示如何配置和使用django-import-export库,以便在导入数据时正确处理外键关系并将其从可读形式(如名称)转换为模型......
  • golang开发 gorilla websocket的使用
    很多APP都需要主动向用户推送消息,这就需要用到长连接的服务,即我们通常提到的websocket,同样也是使用socket服务,通信协议是基本类似的,在go中用的最多的、也是最简单的socket服务就是gorilla/websocket,它有21.1K的star,足以说明它的受欢迎程度,它的github地址是https://github.com/g......
  • 1.1 Golang 初识
    1.1.1简介Go(又称Golang)是Google的RobertGriesemer,RobPike及KenThompson开发的一种计算机编程语言1.1.2设计初衷Go是一种编译型语言,可以进行快速开发,解决c/c++项目太慢内存泄漏等问题。有着很强的并发能力以及极低的内存消耗。1.1.3应用领域1.Go服务器端/游戏软件......
  • react+three.js导入外部gltf格式
    我把gltf文件放在了public/static下面了。其他地方还没适用。因为之前想导入obj一直没成功,就跟着官网和各种例子成功导入了gltf格式的然后其他的没啥。看代码吧。大部分我都写了备注components组件importReact,{useEffect,useRef}from"react";import*asTHREE......
  • golang reflect 常见示例
    reflect是golang中元编程的能力体现。需要注意的是,reflect尽量不用,有性能问题,也有避免滥用的考虑。packagemainimport( "log" "reflect")typeAstruct{ aint bstring cbool}//实验reflect的相关函数funcmain(){ typeValue() callFunc()}funcother......
  • 我创建了一个文件夹/软件包,其中有两个子软件包(第一个=subpkg1,第二个=subpkg2),在subpkg1
    我正在使用VS代码学习Java。我创建了一个文件夹/包(name=pkg)然后,我在该包中创建了两个包(第一个=subpkg1,第二个=subpkg2)但我在subpkg1中创建了一个文件(test1)并从subpkg2中导入文件(name=food)然后编译并运行。我一直收到pkg.subpkg2doesn'texist的错误信息(见......
  • golang errgroup 的作用
     errgroup是Go中用于并发控制和错误处理的一个工具,提供了一种方便的方式来协调多个goroutine。它允许你在一个组中运行多个goroutine,并等待它们全部完成,同时收集和返回第一个发生的错误。它的主要作用包括:同步:errgroup.Group提供了一个Wait方法,这个方法会阻塞调......
  • golang errgroup 的超时检测
     > golangerrgroup的作用.errgroup的超时检测通常是一种事后得到结果的方式。 errgroup本身并不直接支持超时控制,而是依赖于与之关联的context.Context来实现超时和取消功能。 当context超时时,它会关闭Done通道,这将通知errgroup中的协程。 errgroup的Wait方法在检......