golang学习笔记6-更方便的转换、自定义包及网络部署【推荐收藏】

在上一个笔记中,我讲了基本数据类型的转换。不难发现,string和基本类型的互转比较麻烦,所以我自定义了一个包strtrans,封装了四个函数:ToString(),ToInt(),ToFloat(),ToBool()。其中ToString()适用于整数型,浮点型,bool,字符(包括非英文字符),对于浮点型,保留原有小数位。其余函数的返回值只有一个,如果转换失败,则给出错误提示并返回默认值。
这样一来,关于string的转换就方便很多了。目前,该包已部署到gitee上:string转换,因为这是国内网站,访问比github快。接下来我先说明调用包的方法,然后说明如何自定义包及将包部署到gitee上。

一、调用方法

调用方法很简单,几步搞定:
1.打开你的项目根目录,在该目录下打开命令行
2.创建go模块(已有模块请跳过此步):

go mod init your_project

3.获取我的模块

go get gitee.com/zht639/my_gopkg

4.导入包gitee.com/zht639/my_gopkg/strtrans即可使用
以下是测试代码,供大家参考:

func main() {var str = ""// 整数转stringstr = strtrans.ToString(123)fmt.Printf("type:%T,value=%q\n", str, str)// 浮点数转string,保留原有小数位数str = strtrans.ToString(12.34)fmt.Printf("type:%T,value=%q\n", str, str)// bool转stringstr = strtrans.ToString(true)fmt.Printf("type:%T,value=%q\n", str, str)// 英文字符转stringstr = strtrans.ToString('a')fmt.Printf("type:%T,value=%q\n", str, str)// 非英文字符转stringstr = strtrans.ToString('我')fmt.Printf("type:%T,value=%q\n", str, str)// string转整数fmt.Println(strtrans.ToInt("123"))  // 输出: 123fmt.Println(strtrans.ToInt("123a")) // 输出: 错误提示并返回0// string转浮点数fmt.Println(strtrans.ToFloat("12.34")) // 输出: 12.34fmt.Println(strtrans.ToFloat("abc"))   // 输出: 错误提示并返回0// string转boolfmt.Println(strtrans.ToBool("true"))    // 输出: truefmt.Println(strtrans.ToBool("invalid")) // 输出: 错误提示并返回false
}

二、自定义包及使用

1.新建一个文件夹作为存放自定义包的目录,假设名字为mypkg
2.在mypkg下创建你的包(文件夹)your_pkg,里面建一个go文件,推荐名字和该包相同,然后导入包并定义你想要的功能:

package your_pkg
//your code

特别注意:函数名首字母必须大写,否则只能在当前文件内使用,无法作为外部导入。
3.返回项目根目录mypkg,在当前目录下打开命令行,创建go模块:

go mod init your_module

4.在根目录下建一个主函数文件main.go,使用模块名+包路径作为包名导入后,即可使用你自定义的包:

package mainimport ("fmt""your_module/your_pkg" // 这里使用模块名+包路径
)func main() {
//your test code
}

三、部署到gitee

1.登录gitee:gitee官网
2.创建一个库,用于存放自定义的包:点击右上角的+,点击“新建仓库”,设置好仓库名后,按下图设置:
在这里插入图片描述
然后点击创建即可。
3.进入创建好的仓库,点击“克隆/下载”,在弹出的页面中找到“为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置”,复制下面的命令行到本地,如记事本。
4.修改项目根目录下的go.mod,将其中的module声明的模块名改为你的项目地址,即gitee.com/your_username/your_repository,将main.go中导入的包名改为“项目地址/包路径”,即gitee.com/your_username/your_repository/your_pkg。
5.下载并安装Git(已有Git请跳过此步)
(1)进入Git官网:https://git-scm.com/,找到右侧的下载按钮
(2)进入下载选择页面,如果是Windows,选择Standalone Installer下的版本下载。
(3)启动安装包,一直点击next即可。
6.在根目录下打开Git Bash,粘贴预先复制的命令行,执行。
7.执行如下命令行:

git init
git remote add origin https://gitee.com/your_username/your_repository.git
git add .
git commit -m "Initial commit"

其中add .是添加当前目录下所有文件,-m后面是备注。
8.推送项目到gitee:
由于新建仓库会导致一次远程更改,所以我们需要先将本地更改应用到拉取的更改之上:

git pull origin master --rebase

然后再执行推送命令即可完成部署:

git push -u origin master

注意:这样部署后,本地使用的就是远程的包,如果仍然要使用本地的包,可以参照第四步把名字都改回去,但如果你自定义的包有改动,需要更新远程的包,那么还是得做一遍第四步。
若需要更新包,先改本地,然后使用git add添加修改的文件,添加完后用git commit提交修改,最后直接使用推送命令即可。总之,add,commit,push。

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

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

相关文章

关于字节 c++

字节的介绍 字节是计算机中最小的存储单位,通常由8个二进制位组成,用来存储一个字符。在C中,字节也是基本数据类型之一,用关键字"byte"来表示。字节主要用于存储一些较小的数据,如整数、字符等。字节的大小…

UE5入门

1.快捷键 工欲善其事,必先利其器,所以学习UE关卡编辑器快捷键必不可少 1.1Actor 选中actor , Q:选择模式 W:平移 E:旋转 R:缩放 CtrlB:打开Actor文件位置 F:聚焦 Ctr…

RP2040 C SDK GPIO和IRQ 唤醒功能使用

RP2040 C SDK GPIO和中断功能使用 📑RP2040 中断功能简介 Each core is equipped with a standard ARM Nested Vectored Interrupt Controller (NVIC) which has 32 interrupt inputs. Each NVIC has the same interrupts routed to it, with the exception of the…

Python办公自动化教程(002):PDF的拆分与合并

1、PyPDF2 介绍 介绍: PyPDF2是一个用于处理PDF文件的Python库,它提供了丰富的功能来读取、编辑、合并、拆分PDF文档,以及提取文本、图像和其他内容。 功能: 读取PDF:PyPDF2可以轻松地打开和读取PDF文件,获…

计算机丢失mfc110.dll是什么原因与有哪些解决方法详解

丢失动态链接库文件(DLL)是比较常见的一种情况,其中之一就是“计算机丢失mfc110.dll”。这个问题通常是由于系统文件损坏或缺失引起的,给计算机的正常运行带来了困扰。为了解决这个问题,我总结了以下几种方法&#xff…

1512. 好数对的数目

目录 一&#xff1a;题目&#xff1a; 二&#xff1a;代码&#xff1a; 三&#xff1a;结果&#xff1a; 一&#xff1a;题目&#xff1a; 给你一个整数数组 nums 。 如果一组数字 (i,j) 满足 nums[i] nums[j] 且 i < j &#xff0c;就可以认为这是一组 好数对 。 返…

状态模式:将对象行为与状态解耦

状态模式&#xff08;State Pattern&#xff09;是一种行为设计模式&#xff0c;它允许对象在其内部状态改变时改变其行为&#xff0c;使对象看起来好像修改了其类。 状态模式的核心思想是将对象的行为封装在不同的状态对象中&#xff0c;每个状态对象都代表了对象在某一特定状…

校园美食探索者:Spring Boot开发的分享平台

第二章 系统分析 2.1 可行性分析 可行性分析的目的是确定一个系统是否有必要开发、确定系统是否能以最小的代价实现。其工作主要有三个方面&#xff0c;分别是技术、经济和社会三方面的可行性。我会从这三个方面对网上校园周边美食探索及分享平台进行详细的分析。 2.1.1技术可行…

Redis数据结构之list列表

一.list列表 列表相当于数组或者顺序表 它里面的元素是有序的&#xff0c;也就是可以通过下标进行访问。这里的有序的含义是要根据上下文区分的&#xff0c;有的时候&#xff0c;有序指的是升序/降序&#xff0c;有的时候有序指的是顺序很关键&#xff0c;俩个元素交换后就不…

<<编码>> 第 16 章 存储器组织(4)--内存 示例电路

内存内部结构 info::操作说明 译码器用于写入, 操作同上 选择器用于输出, 操作同上 地址信号同时控制译码器和选择器, 注意地址的高位在右(比如 001 实际是 100, 选择的是 Q6 和 I6) 缺省情况下, 内部数据全是 0. 读者可先通过译码器写入, 再通过选择器输出 primary::在线交…

YOLO原理实现

YOLO&#xff08;You Only Look Once&#xff09;是一个标志性的目标检测模型&#xff0c;可以快速分类并定位图像中的多个对象。本文总结了YOLO模型中所有关键的数学操作。 第一步&#xff1a;定义输入 要使用YOLO模型&#xff0c;首先必须将RGB图像转换为448 x 448 x 3的张…

再看Java-笔试

放在前面的话 最近确实有些空闲&#xff0c;分配的功能从一开始的两眼一黑到现在的一上午就能完成&#xff0c;这何尝不是一种进步呢。 该说不说&#xff0c;海康的API问题相比较其他第三方的API还是蛮多的&#xff0c;而且10月份人工客服还会停运&#xff0c;不过到那个时候…

【CTF】Nginx日志注入

Nginx日志注入&#xff1a; 日志包含漏洞的成因还是服务器没有进行严格的过滤 &#xff0c;导致用户可以进行任意文件读取&#xff0c;但是前提是服务器需要开启了记录日志的功能才可以利用这个漏洞。 对于Apache&#xff0c;日志存放路径&#xff1a;/var/log/apache/access.l…

华为HarmonyOS灵活高效的消息推送服务(Push Kit) - 5 发送通知消息

场景介绍 通知消息通过Push Kit通道直接下发&#xff0c;可在终端设备的通知中心、锁屏、横幅等展示&#xff0c;用户点击后拉起应用。您可以通过设置通知消息样式来吸引用户。 开通权益 Push Kit根据消息内容&#xff0c;将通知消息分类为服务与通讯、资讯营销两大类别&…

【Qt】QSS的设置方式

QSS的设置方式 QWidget 中包含了 setStyleSheet ⽅法, 可以直接设置样式. 上述代码我们已经演⽰了上述设置⽅式 还可以通过 QApplication 的 setStyleSheet ⽅法设置整个程序的全局样式. 设置全局样式&#xff0c;可以将界面上所有的样式都集中到一起来组织。 全局样式优点:…

图神经网络的新篇章:通用、强大、可扩展的图变换器

人工智能咨询培训老师叶梓 转载标明出处 图变换器&#xff08;Graph Transformers, GTs&#xff09;因其在处理节点间全局依赖关系方面的能力而受到广泛关注。然而&#xff0c;现有的GTs模型在处理大规模图时面临着计算复杂度高、泛化能力有限等问题。为了解决这些问题&#x…

UnLua扩展接口

一、在蓝图中创建接口 1、创建BlueprintInterface 2、声明接口函数 3、继承接口 注意&#xff0c;接口不需要绑定Lua&#xff0c;也没有Bind按钮 二、在Lua中实现接口函数 1、实现接口函数 BP_Player.lua function BP_Player_C:UpdateAiming(IsAiming)if IsAiming thensel…

maven手动导入本地仓库

maven手动导入本地仓库 1.在maven仓库下载对应的依赖 一定要把jar包下载到maven仓库的bin下 2.找到自己仓库的maven仓库下的bin目录cmd进去 在cmd窗口中输入以下命令&#xff1a;&#xff08;这里根据你的groupId、artifactId、version修改即可&#xff09; <!-- https:…

gpu scene cull

(1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) LaunchComputeRelevanceTask 调用堆栈 (1) (1)

12k star,这可能是我见过最强的国产开源支付系统!(附源码)

最近有读者问到支付系统相关的问题&#xff0c;这里推荐两个总体完成度还不错的国产开源支付系统&#xff0c;可以拿来学习&#xff0c;也可以根据项目需求直接拿来用。 01 Jeepay 项目介绍 &#xff1a; 一套适合互联网企业使用的开源支付系统&#xff0c;提供了交易、退款、…