当前位置: 首页 > news >正文

msn网站制作东莞自助建站软件

msn网站制作,东莞自助建站软件,湖州站内优化seo公司,电子商务平台的法律责任GO 项目工程管理(Go Modules) Go 1.11 版本开始,官方提供了 Go Modules 进行项目管理,Go 1.13开始,Go项目默认使用 Go Modules 进行项目管理。 使用 Go Modules的好处是不再需要依赖 GOPATH,可以在任意位…

GO 项目工程管理(Go Modules)

Go 1.11 版本开始,官方提供了 Go Modules 进行项目管理,Go 1.13开始,Go项目默认使用 Go Modules 进行项目管理。

使用 Go Modules的好处是不再需要依赖 GOPATH,可以在任意位置进行 Go 项目的创建,还能够通过 GOPROXY 配置镜像源,解决 Go 语言依赖下载慢的问题。

1 通过Go Modules创建新项目

该节使用 Go 语言创建项目,实现一个简单的计算器。

点击 Enviroment 右侧的加号,添加 GOPROXY 变量。

# name
GOPROXY
# value
https://goproxy.io,direct

环境变量设置后,点击 OK ,完成后点击 Create 创建 Go 项目。

创建的项目结构如下,项目目录下有一个 go.mod 文件用来管理项目中用到的依赖。

2 编写计算器工程代码

计算器工程项目分为两部分:

  • 项目的入口文件 main.go,该文件最终会被编译成可执行的二进制文件。

  • 算法库,名为 custommath,每个计算操作对应一个 Go 文件,例如 add.go 用于加法计算。

首先编写项目的入口文件 main.go,项目代码如下:

package main
​
// 引入其它包
import ("calculator/custommath""fmt""os""strconv"
)
​
// 定义一个用于打印程序使用指南的函数
var Usage = func() {fmt.Println("USAGE: calc command [arguments] ...")fmt.Println("\nThe commands are:\n\tadd\t计算两个数值相加\n\tsqrt\t计算一个非负数的平方根")
}
​
// 程序入口函数
func main() {/** 用于获取命令行参数,注意程序名本身是第一个参数,* 比如 calc add 1 2 这条指令,第一个参数是 calc*/args := os.Args// 除程序名本身外,至少需要传入两个其它参数,否则退出if args == nil || len(args) < 3 {Usage()return}// 第二个参数表示计算方法switch args[1] {// 如果是加法的话case "add":// 至少需要包含四个参数if len(args) != 4 {fmt.Println("USAGE: calc add <integer1><integer2>")return}// 获取待相加的数值,并将类型转化为整型v1, err1 := strconv.Atoi(args[2])v2, err2 := strconv.Atoi(args[3])// 获取参数出错,则退出if err1 != nil || err2 != nil {fmt.Println("USAGE: calc add <integer1><integer2>")return}// 从 custommath 包引入 Add 方法进行加法计算ret := custommath.Add(v1, v2)// 打印计算结果fmt.Println("Result: ", ret)// 如果是计算平方根的话case "sqrt":// 至少需要包含三个参数if len(args) != 3 {fmt.Println("USAGE: calc sqrt <integer>")return}// 获取待计算平方根的数值,并将类型转化为整型v, err := strconv.Atoi(args[2])// 获取参数出错,则退出if err != nil {fmt.Println("USAGE: calc sqrt <integer>")return}// 从 simplemath 包引入 Sqrt 方法进行平方根计算ret := custommath.Sqrt(v)// 打印计算结果fmt.Println("Result: ", ret)// 如果计算方法不支持,打印程序使用指南default:Usage()}
}

创建 custommath 目录,在该目录下创建 add.go、sqrt.go 两个文件,分别编写对应的 Add、Sqrt方法。

add.go

package custommath
​
func Add(a int, b int) int {return a + b
}

sqrt.go

package custommath
​
import "math"
​
func Sqrt(i int) int {v := math.Sqrt(float64(i))return int(v)
}

执行 go build,编写写好的 Go 代码。

通常 Go 代码并非在本地执行,而是要上传到服务器主机,例如 Linux、Unix,在上传 .exe 文件就不可以了,可以执行如下操作,生成 linux 操作系统的可执行文件。

# 设置环境变量
$env:GOOS="linux"
$env:GOARCH="amd64"
# 编译
go build -o calculator

这里是在 powershell 执行的,直接在 cmd 设置环境变量,生成的文件显示不是 Linux 下可执行的二进制文件,具体原因暂不清楚,具体的操作以及报错如下:

set GOOS=linux
set GOARCH=amd64
​
# 编译
go build -o calculator

powershell 中按照如下,可以正常生成 linux 系统下的可执行文件。

上传到 linux 主机能够正常运行。

http://www.yayakq.cn/news/813337/

相关文章:

  • 网站开发岗位要求提高网站建设管理水平
  • 网站数据库空间东莞常平美食
  • 顺德建设网站多少钱建设企业网站支票打印软件
  • 浙江建设干部学校网站首页做网站平面一套多少钱
  • 电子商务网站建设系统功能设计一个自己公司网站开发
  • 社团网站建设肇庆企业做网站
  • 做html网站模板seo sem关键词优化
  • 购物网站的文化建设问题wordpress 主题笔记
  • 建立网站时首先考虑的问题做新零售这些注册网站和找货源6
  • 企业网站备案流程深圳做棋牌网站建设哪家便宜
  • 最专业网站建设delphi7 网站开发
  • 手把手教你做网站7嘟嘟嘟在线观看播放免费
  • 500云空间网站做啤酒行业的网站
  • 长春网站建设net快闪ppt模板免费下载
  • 网站做app收费标准企业网站建设的目的有()
  • 网站正在建设html游戏平台网站建设
  • 有没有可以做各种字体的网站牛肉煲的做法
  • 怎么开免费网站如何查询一个网站的空间服务商
  • 教师招聘网站长城建设集团铁路专业简历制作
  • 技术成果交易网站建设方案福州高端网站建设
  • 给你一个网站怎么做的上海招聘信息最新招聘2022
  • 茂名公司网站设计网站交互做的比较好的
  • 摄像头做直播网站洛可可成都设计公司
  • 有哪些好的模板网站免费网站推广
  • 玉树市公司网站建设国内大中型网站建设知名公司
  • 徐州学习网站建设桂林百姓生活网
  • 广州网站推广教程网站建设趋势
  • asp.net网站连接mysql怎么套模板做网站
  • 云南网站建设哪家强微网站开发哪家好
  • django电影网站开发大型网站建设报价