Golang 包使用注意事项

这篇具有很好参考价值的文章主要介绍了Golang 包使用注意事项。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1)在给一个文件打包时,该包对应一个文件夹,比如这里的utils文件夹对应的包名就是utils,文件的包名通常和文件所在的文件夹名一致,一般为小写字母。

2)当一个文件要使用其它包函数或变量时,需要先引入对应的包

  • 引入方式1:import "包名"
  • 引入方式2:
import(
  "包名"
  "包名"
)

3)package指令在文件第一行,然后是import指令。

4)在import包时,路径从SGOPATH的src下开始,不用带src,编译器会自动从src下开始引入

5) 为了让其它包的文件,可以访问到本包的函数,则该函数名的首字母需要大写,类似其它

语言的public,这样才能跨包访问。比如utils.go的

Golang 包使用注意事项

如果是变量可以被别的包访问,那么也是定义为大写。

6)在访问其它包函数时,其语法是包名.函数名,比如这里的main.go文件中(变量也是一样)

Golang 包使用注意事项

 7)如果包名较长,Go支持给包取别名,注意细节:取别名后,原来的包名就不能使用了(取别名u,那么要使用新的别名去访问这个包的变量和函数)

import (
	u "day1/base/package_test/utils"
	"fmt"
)

func main() {
	n := u.Sum(1, 2)
	fmt.Println(n)
	fmt.Println(u.Number1)
}

8)在同一包下,不能有相同的函数名(也不能有相同的全局变量名),否则报重复定义。

9) 如果你要编译成一个可执行程序文件,就需要将这个包声明为main,就是一个语法规范,如果你是写一个库,包名可以自定义。(其实也就是main包只能有一个)

在实际开发过程当中实际上是要生成二进制文件,生成可执行文件就可以交给对方去使用了。

Golang 包使用注意事项

 10)golang支持可变参数

func test99(s string, args ...int) {
	for k, v := range args {
		fmt.Println(k, v)
	}

	for i := 0; i < len(args); i++ {
		fmt.Println(args[i])
	}
}


func main() {
	test99("s", 1, 2, 3, 4)
}

args本质上是一个切片,可以通过args[index]访问到各个值文章来源地址https://www.toymoban.com/news/detail-437839.html

到了这里,关于Golang 包使用注意事项的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 修改Git已经提交的一个或多个注释的步骤及注意事项

    git已经提交到远程仓库,想要修改注释内容可以按照以下步骤进行: 1、到本地仓库目录下打开git 控制窗口(Git Bash),注意自己要改注释的分支是否正确,可以使用: $git checkout 分支名,切换到自己要改的分支,比如我从V1.1的分支切换到V1.0分支。 2、使用命令:$ git rebase -

    2024年02月14日
    浏览(51)
  • K8s: 将一个节点移出集群和相关注意事项

    前置步骤 在Kubernetes集群中,要移出一个节点,你需要执行以下步骤: 1 )将节点标记为不可调度 首先,你需要将目标节点标记为不可调度,以确保Kubernetes不会在该节点上调度新的Pod 这可以通过执行以下命令实现:$ kubectl cordon node-name 其中 是你想要移出的节点的名称 这个命

    2024年04月18日
    浏览(40)
  • vue3中Fragment特性的一个bug,需要留意的注意事项

    vue3中的Fragment 模版碎片特性是什么,简单的理解就是 template模板代码 不在像vue2中那样必须在根节点在包裹一层节点了。 vue2写法 vue3写法 vue3中Fragment特性的一个bug(需要留意的问题) 组件HelloWorld: 组件HelloWorld的使用 同时控制台waring : 利用开发者模式看dom结构, 发现v-show的

    2024年01月22日
    浏览(44)
  • 学习Linux的注意事项(使用经验;目录作用;服务器注意事项)

    本篇分享学习Linux过程中的一些经验 Linux严格区分大小写 Linux中所有内容以文件形式保存 ,包括硬件,Linux是以管理文件的方式操作硬件 硬盘文件是 /dev/sd[a-p] 光盘文件是 /dev/sr0 等 对于设置需要写入文件,命令行的设置在重启之后就会失效,只有下入文件才可以保存下来 文

    2024年02月11日
    浏览(74)
  • vue axios实现下载文件及responseType:blob注意事项

    需要使用axios和js-file-download组件 注意事项: responseType:blob表示服务器返回的响应类型是二进制流,一般用于文件、视频下载等场景。正常情况下后端返回二进制数据,当后端服务器出错时,往往会以json形式返回错误信息,例如{\\\"code\\\":500,\\\"msg\\\":\\\"未知异常\\\"}。因为设置了blob类型,

    2024年02月11日
    浏览(46)
  • Linux tftp命令教程:文件传输利器(附案例详解和注意事项)

    tftp,全称为Trivial File Transfer Protocol(简单文件传输协议)。tftp是一个用于文件传输的客户端命令,用于从远程主机传输文件,包括一些非常简洁、通常嵌入的系统。 tftp命令适用于所有正在维护的Linux发行版本,如果在某些Linux版本上未预装此工具,可以通过对应的包管理器

    2024年03月13日
    浏览(197)
  • grpc流式使用和注意事项

    流式grpc Server-side streaming RPC:服务器端流式 RPC Client-side streaming RPC:客户端流式 RPC Bidirectional streaming RPC:双向流式 RPC 客户端代码 服务端代码 验证 分析 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eRmLdnpt-1622633151060)(readme.assets/image-202105271114

    2023年04月10日
    浏览(42)
  • 第一次使用git注意事项

    一、git 第一次使用配置 配置用户名和邮箱 git config --global user.name “用户名” git config --global user.email “邮箱” 查看用户名和邮箱 git config user.name 显示:用户名 输入 git config user.email 显示用户邮箱 查看是否生成过SSH Key(密钥) 输入:cd ~/.ssh 输入:ls 输出 如果没有id_rsa 和 id

    2024年02月07日
    浏览(63)
  • TheadLocal的使用场景和注意事项

    在多线程编程中,数据共享和线程安全问题是一个很大的挑战。为了解决这个问题,Java 提供了 ThreadLocal 类,它能够让每个线程维护自己独立的变量副本。 ThreadLocal 的作用就是:为每个线程创建一个独立的变量副本,使得每个线程都可以操作自己的变量,而不会影响其他线程

    2024年02月07日
    浏览(42)
  • Unity之Addressable使用注意事项

    Profile文件中配置资源构建路径和资源首次加载路径,资源如何设置了缓存,在首次加载之后会将再用缓存在缓存目录,后面将直接从缓存目录中读取,方便项目发包时候进行使用 AddressableAssetSettings文件 DisableCatalogUpdateOnStartup 勾选改选项,禁止自动更新,项目资源下载一般需

    2024年02月08日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包