首页 > 其他分享 >go mod有关简单小结

go mod有关简单小结

时间:2023-09-02 17:33:49浏览次数:48  
标签:main int func go calc 小结 mod

测试环境

  • MAC Catalina
  • GO 1.19
  • VSCode

包管理工具 go mod

在 Golang 1.11版本之前如果我们要自定义包的话必须把项目放在 GOPATH 目录。Go 1.11版本之后无需手动配置环境变量,使用 go mod 管理项目,也不需要非得把项目放到 GOPATH指定目录下,你可以在你磁盘的任何位置新建一个项目 , Go 1.13以后可以彻底不需要 GOPATH了

go mod tidy命令

整理现有的依赖,使用此命令来下载指定的模块,并删除已经不用的模块。

小例

#return $HOME
cd
mkdir demo
#create file go.mod
go mod init demo
mkdir calc
cd calc
#touch to create an empty file
touch calc.go
#open and edit it
open calc.go
package calc

var Age = 20
var age = 10

func Add(x, y int) int {
    return x + y
}
func Sub(x, y int) int {
    return x - y
}
func add(x, y int) int {
    return x + y
}


touch tools.go
open tools.go
package calc

import "fmt"

func Mul(x, y int) int {
    return x * y
}
func PrintInfo() {
    fmt.Println("Calling methods inside tools!")
}


cd ..
touch main.go
open main.go
package main

import (
    "demo/calc"
    "fmt"
)

func main() {
    sum := calc.Add(1, 2)
    mul := calc.Mul(5, 6)

    fmt.Println(sum)
    fmt.Println(mul)
    calc.PrintInfo()
}
go install main.go

最后这一句编译并运行程序!


引用

标签:main,int,func,go,calc,小结,mod
From: https://blog.51cto.com/zhuxianzhong/7334076

相关文章

  • go并发编程系列四:线程分组及控制线程的执行
    背景:在上一篇中,作为班主任的你,对班级的管理初见成效,但理想和现实总有差距,理想情况下,从接手一个调皮的班级到班级的管理井井有条,是从0到1的跨越,没有中间的过渡阶段,然而,现实是:班级里少不了调皮的学生,对于这样的情况,应该怎么办呢?这篇文章讲解的正是现实中从0到1的过渡阶段,本文仅以讲......
  • 使用C#下载文件的多种方法小结
    https://pythonjishu.com/bbzsoetttsxyoao/https://www.cnblogs.com/ning-xiaowo/p/16792303.htmlhttps://blog.csdn.net/yang472024191/article/details/37905749/usingSystem.Net;stringurl="http://example.com/file.txt";stringfilePath=@"C:......
  • go并发编程系列三:线程的顺序执行
    背景:在go并发编程系列二,你作为班主任,接手了有三个学生的班级,现状是这三个学生很调皮,看起来乱糟糟的,三个学生就是三个线程,怎么变的有序呢?答案是:给线程加锁!加锁需要使用go标准包的sync.Mutex,这是一个互斥锁。给线程加锁的代码:packageconcurrentimport("fmt""sync"......
  • go并发编程系列二:线程的并发执行
    新建concurrent文件夹,在该文件夹下创建concurrent.go,代码如下:packageconcurrentimport("fmt""time")funcThreadZhangSan(){fori:=1;i<=3;i++{fmt.Println("张三:",i)time.Sleep(time.Millisecond*50......
  • mongodb副本集(非仲裁模式)修改各节点ip(update方式)
    环境:OS:Centos7mongodb:5.0当前的ip变更后的ip192.168.1.108192.168.1.105   PRIMARY192.168.1.109192.168.1.106   SECONDARY192.168.1.110192.168.1.107   SECONDARY 1.查看当前的集群登录一个节点上查......
  • go并发编程系列:一、建立线程
    在go语言中,使用线程的格式是:go函数名当然,你也可以使用匿名函数,我们建立三个线程,代码如下:gotest1()gotest2()gofunc(){}是不是很简单?在下一系列中,我们将扩展这三个线程,进一步讲解go的并发编程!TRANSLATEwithxEnglishArabicHebrewPolishBulgar......
  • Modbus TCP协议
    Modbus介绍1、起源Modbus通信协议,是一种工业现场总线协议标准。Modbus通信协议具有多个变种,其中有支持串口,以太网多个版本,主要有以下三种:ModbusRTU、ModbusASCII和ModbusTCP优势:免费、简单、容易使用2、分类:(1)ModbusRTU二进制效率高常用运......
  • 微服务架构|go-zero 的自适应熔断器
    原文链接:go-zero的自适应熔断器上篇文章我们介绍了微服务的限流,详细分析了计数器限流和令牌桶限流算法,这篇文章来说说熔断。熔断和限流还不太一样,限流是控制请求速率,只要还能承受,那么都会处理,但熔断不是。在一条调用链上,如果发现某个服务异常,比如响应超时。那么调用者为了避免......
  • go 1.21:cmp
    标准库cmp原文在这里go1.21新增cmp包提供了与有序变脸比较相关的类型和函数。Ordered定义如下:typeOrderedinterface{ ~int|~int8|~int16|~int32|~int64| ~uint|~uint8|~uint16|~uint32|~uint64|~uintptr| ~float32|~float64| ~string......
  • Django系统报错总结 1
    Django系统报错总结1 本章节,继续总结前面商品系统编写中遇到的报错问题TypeError:Product()gotunexpectedkeywordarguments:'update_time','seller'因为在Product类中没有定义参数update_time和seller。要解决这个问题,你需要确保在Product类中添加这些参数的定义。......