17-Golang中的包

news2024/9/25 3:22:49

Golang中的包

    • 基本介绍
    • 包的三大作用
    • 相关说明
    • 包的注意事项和细节说明

基本介绍

  • 1.在实际的开发中,我们往往需要在不同的文件中,去调用其他文件的定义的幻术,比如main.go中,去使用utils.go文件中的函数
  • 2.包的本质就是创建不同的文件夹,来存放程序文件。
  • 3.go的每一个文件都是属于一个包的,也就是说go是以包的形式来管理文件和项目目录结构的。

包的三大作用

  • 1.区分相同名字的函数,变量等标识符
  • 2.当程序文件很多时,可以很好的管理项目
  • 3.控制函数,变量等访问范围,即作用域

相关说明

打包基本语法

package util

引入包的基本语法

import “包的路径”

包的注意事项和细节说明

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

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

  • 3.引入方式1:import “包名”

  • 4.引入方式2:

    • import(

      ​ “包名”

      ​ “包名”

      ​ )

  • 5.package指令在文件第一行,然后是import指令

  • 6.在import包时,路径从$GOOPATH的src下开始,不用带src,编译器会自动从src下开始引入

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

  • 8.在访问其它包函数,变量时,其语法是包名.函数名

  • 9.如果包名较长。Go支持给包取别名,注意:取别名后,原来的包名就不能使用了,需要使用别名来访问该包的函数和变量

在这里插入图片描述

  • 10.在同一包下,不能有相同的函数名(也不能有相同的全局变量名),否则报重复定义
  • 11.如果要编译成一个可执行的程序文件,就需要将这个包声明为main,即package.main这就是一个语法规范,如果写的是一个库,包名可以自定义
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/140516.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue简单的数据传输

很久没有水文了,最近又得了新冠才好,学习也没什么进度,先复习下之前的组件的数据传输吧! props传值 这个很简单就是在组件标签上转递数据,值得注意的是如果不使用v-bind:(:),转递的…

任务二:Web隐藏信息获取

任务二:Web隐藏信息获取 任务环境说明: 服务器场景名:web20200604服务器场景用户名:未知通过本地PC中渗透测试平台Kali使用Nmap扫描目标靶机HTTP服务子目录,将扫描子目录命令所需参数及第四条扫描结果关键目录以&符号拼接,作为Flag提交(例:-p 22&/root/); …

【信息学CSP-J近16年历年真题64题】真题练习与解析 第11题之纪念品

纪念品 描述 小伟突然获得一种超能力,他知道未来 T 天 N 种纪念品每天的价格。某个纪念品 的价格是指购买一个该纪念品所需的金币数量,以及卖出一个该纪念品换回的金币数量。 每天,小伟可以进行以下两种交易无限次: 任选一个纪念品,若手上有足够金币,以当日价格购买该…

Android---DrawerLayout + NavigationView

现在 Android Studio 已经直接提供左滑菜单功能,只需要在创建新项目时选择 Navigation Drawer Activity 就可以直接创建一个有左滑菜单功能的 APP。 目录 DrawerLayout NavigationView android:src 与 app:srcCompat fitsSystemWindows DrawerLayout …

数据报告重要的是业务看得懂

一、前言上篇文章我们从指标库的角度梳理了指标是如何计算出来的,确保业务人员有数可寻,但对于业务人员而言,并不是所有的指标都看得懂,也不是所有的指标都需要理解,笔者见过太多不知所云的数据报告,各种模…

Maven高级-分模块拆分

Maven高级 分模块开发与设计 聚合 继承 属性 版本管理 资源配置 多环境开发配置 跳过测试 私服 分模块开发与设计 拷贝原始项目中对应的相关内容到ssm_pojo模块中 ​ 实体类(User) ​ 配置文件(无) User.java package com.i…

S32K144-S32DS 导入/编译/烧录 遇到的问题

找到你开发套件软件安装包的路径,里面有四个例子,任选一个;不要忘记复制到工作区 问题一:修改电机库的路径 问题二:freemaster路径问题 编译还是报错,好像还必须安装FreeMaster 安装之后,还是这…

电子招标采购系统源码:构建高效智能数字化采购

过去几十年,公用事业行业发生了重大变化。能源需求的转变导致企业利润率的波动,但不是运营成本的波动。 许多公用事业公司通过后勤部门流程自动化来削减成本,比如招采流程自动化。 在招采活动中,人工招采会产生盲点。由于公共事业…

【MySQL】MySQL视图原理与实战(MySQL专栏启动)

📫作者简介:小明java问道之路,专注于研究 Java/Liunx内核/C及汇编/计算机底层原理/源码,就职于大型金融公司后端高级工程师,擅长交易领域的高安全/可用/并发/性能的架构设计与演进、系统优化与稳定性建设。 &#x1f4…

ArcGIS基础实验操作100例--实验51CAD转要素类

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 高级编辑篇--实验51 CAD转要素类 目录 一、实验背景 二、实验数据 三、实验步骤 (1&#…

多线程之线程安全问题

1.线程安全示例 class Count{int a 0;public void add(){a;} } public class ThreadDemo8 {public static void main(String[] args) {Count count new Count();Thread t1 new Thread(()->{for (int i 0; i < 5_0000; i) {count.add();}});Thread t2 new Thread(()…

这款企业报表工具给你灵活的数据查询体验

随着对BI应用程度的加深&#xff0c;用户需要连接和管理的数据越来越多&#xff0c;也越来越复杂。电子表格软件支持丰富的数据源接入&#xff0c;但一般并不能直接使用接入的业务库直接进行数据分析。所以在报表开发前的取数过程&#xff0c;把需要的数据整合成一个数据集合&a…

Ajax技术

全局刷新和局部刷新 在B/S 结构的项目中&#xff0c; 浏览器端负责把用户的请求和参数通过网络发送给服务器,服务端负责接收请求&#xff0c;并将处理的结果返回给浏览器。浏览器端负责展示响应结果给用户。 全局刷新 整个浏览器被新的数据覆盖。在网络中传输大量的数据。浏…

经历了资本的狂热追捧之后,元宇宙开始进入到相对冷静的发展阶段里

经历了资本的狂热追捧之后&#xff0c;元宇宙开始进入到相对冷静的发展阶段里。在这样一个阶段&#xff0c;元宇宙不再被看成是一个万能的存在&#xff0c;不再被看成是一个无所不包的存在&#xff0c;而是变成了一个相对较为客观和理性的存在。看看Meta的表现&#xff0c;看看…

C#语言实例源码系列-游戏-实现俄罗斯方块

专栏分享点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册 &#x1f449;关于作者 众所周知&#xff0c;人生是一个漫长的流程&#xff0c;不断克服困难&#xff0c;不断反思前进的过程。在这个过程中…

css新特性:线性渐变详解(重复性线性渐变、径向渐变、重复性径向渐变的使用)

线性渐变线性渐变重复性线性渐变径向渐变重复性径向渐变的使用线性渐变 线性渐变是向下、向上、向左、向右、对角方向的颜色渐变。 其语法格式为&#xff1a; background-image: linear-gradient(side-or-corner|angle, linear-color-stop);参数说明如下&#xff1a; side-o…

C++——二叉树OJ

目录 1.根据二叉树创建字符串 2.二叉树的层序遍历 3.二叉树的层序遍历2 4.二叉树的最近公共祖先 5. 搜索二叉树与双向链表 6.从前序与中序遍历构建二叉树 1.根据二叉树创建字符串 按照前序遍历&#xff1a;根左右。 1(2(4()())())(3()()) 1.左右都为空&#xff0c;则可…

通过PWM控制串行LED灯

资料下载 RGB_LED灯带_5050慢闪_datasheet STM32控制LED灯带 根据上面的说明书可知&#xff0c;通过修改800KHz的PWM波形的占空比可以控制LED的颜色。 假设现在有3颗串联起来的灯珠&#xff0c;如下图&#xff1a; 如果U1/U2/U3需要显示红/绿/蓝色&#xff0c;根据说明书&…

Vue3 的项目搭建

使用工具&#xff1a; VSCode Volar &#xff1a;编辑器和插件Vite&#xff1a;打包工具Vue3&#xff1a;VueX&#xff1a;存储NodeJs&#xff1a;环境 操作步骤&#xff1a; 安装Node.js安装VsCode安装 Volar创建一个Vite的初始化项目 npm init viteProject name 这一行 我…

Linux系统下刨析hello world背后的秘密

Hi&#xff0c;小伙伴们&#xff0c;大家好&#xff01;今天给大家讲解Linux系统编程中几个重要的概念。必须理解了这几个重要概念&#xff0c;才能更快的入门Linux系统编程&#xff0c;这是不可或缺的基础知识。看似简单&#xff0c;如果不花一番功夫很难真正的理解它们。需要…