Golang基础----搭建Golang开发环境及第一个Golang项目HelloWorld

【原文链接】Golang基础----搭建Golang开发环境及第一个Golang项目HelloWorld

一、Go开发环境搭建

1.1 Windows系统下载安装 Go 语言

1.1.1 下载 Go 语言安装包

(1) 从 Golang官方下载地址 下载最新版的安装包,比如这里是1.18.4

1.1.2 安装 Go 语言

(1) 下载完成后,双击安装,然后点击【next】

(2) 勾选接受协议,然后点击【next】

(3) 修改安装路径,这里安装到D盘,然后点击【next】

(4) 点击【install】,然后开始安装

(5) 点击【finish】安装完成

1.1.3 配置环境变量

(1) 配置环境变量,创建GOROOT变量,变量值为 Go的安装路径,比如这里如下:

(2) 将默认的GOPATH变量删除

(3) 在本地创建文件夹用于存放Go语言源代码目录,同时创建如下三个文件夹,比如如下:

(4) 环境变量中重新设置GOPATH,如下:

(5) 将 %GOPATH%\bin 添加到path路径中去

(6) 打开cmd窗口,执行go version,如下,表示Go已经安装配置完成

(7) 使用set 命令设置GO111MODUULE和GOPROXY变量,如下:

set GO111MODULE=on
set GOPROXY=http://goproxy.cn

通过 go env 可以查看当前的变量

>go env
set GO111MODULE=on
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\Administrator\AppData\Local\go-build
set GOENV=C:\Users\Administrator\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=G:\go_src\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=G:\go_src
set GOPRIVATE=
set GOPROXY=http://goproxy.cn
set GOROOT=D:\ProgrameFile\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=D:\ProgrameFile\Go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.18.4
set GCCGO=gccgo
set GOAMD64=v1
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=NUL
set GOWORK=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\Users\ADMINI~1\AppData\Local\Temp\go-build2954697216=/tmp/go-build -gno-record-gcc-switches
>

注意这种方式是在当前的shell中生效,如果为了始终生效,最好还是在环境变量中设置,如下:

1.2 Windows系统下载安装配置Goland编辑器

(1) 可通过 Goland官网 下载Goland编辑器,Goland编辑器是收费的,可以考虑使用试用版后购买正版

(2) Goland的安装过程就一直默认下一步即可

(3) 安装完成后,需要重启,此外这是一款收费的软件,可以先使用30天,或者想其他办法解决

1.3 CentOS 系统安装 Go 语言

1.3.1 下载 Go 语言安装包

在 CentOS 系统上直接使用 wget 下载即可

wget https://go.dev/dl/go1.19.linux-amd64.tar.gz --no-check-certificate

1.3.2 安装 Go 语言

如果已经安装过 go , 则首先将 /usr/local/go 目录删除,然后再将 go 安装包解压到 /usr/local/ 目录下

rm -rf /usr/local/go && tar -C /usr/local -xzf go1.19.linux-amd64.tar.gz

设置 go 的环境变量

echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile

然后执行如下命令,使环境变量生效

source /etc/profile

通过如下命令,检查 go 语言是否安装成功,若显示版本号,则表示安装成功

go version

二、使用Goland创建第一个项目

2.1 配置Go的版本号

本文使用的go的版本号是1.18.4,当安装好goland后,直接创建项目会出现“找不到SDK”或“The selected directory is not a valid home for Go Sdk” 的错误,这就需要在Go的安装目录下找到 src\runtime\internal\sys\zversion.go 编辑,加入如下一行:

const TheVersion = `go1.18.4`

保存,并重启Goland编辑器

2.2 创建 Hello World 项目

(1) 在Goland打开【File】-【New Project】,然后选择【Go】,设置项目名,比如HelloWorld,然后此时下面就可以选择SDK了,点击【Create】即可

(2) 打开【Terminal】,然后执行 go mod init 命令用来管理模块,此时就会自动创建一个go.mod,如下

(3) 然后在HelloWorld 项目中创建一个main.go文件,把包修改为main,再定义一个main函数,main.go代码如下:

package main

import "fmt"

func main() {
	fmt.Println("Hello world!")
}

(4) 然后在main.go中右键执行,即可以打印hello world 了,如下:

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
_size = enc_hiddens.shape[1] y_t = torch.tensor([self.vocab.tgt['<s>']] * batch_size,搭建一个微服务项目可以分为以下主要步骤: 1. 架构设计:确定微服务架构,包括 device=enc_hiddens.device).unsqueeze(0) # (1, batch_size) h_t, c_t = dec_init_state context = torch.zeros(batch_size, self.hidden_size*2, device=enc_hiddens.device) # (batch_size服务拆分、服务通信、服务治理等方面。 2. 技术选型:选择合适的技术栈, hidden_size*2) # initialize hypothesis hypo = [Hypothesis([self.vocab.tgt['<s>']], ,比如 Spring Cloud、Dubbo、ServiceComb 等。 3. 基础设施搭建搭建微服务基础设施,包括注册中心、配置中心、网关、链路追踪等。 4. 业务实现:0.0)] completed_hypo = [] for _ in range(max_length): # generate all possible next hypothesis 实现微服务业务逻辑,并进行集成测试、系统测试、性能测试等。 下面我将对每个 all_hypo = [] for h in hypo: if h.value[-1] == self.vocab.tgt['</s>']: 步骤进行详细的解释: 1. 架构设计: 在确定微服务架构时,需要考虑以下方面 completed_hypo.append(h) continue y_emb = self.model_embeddings.target(y_t) # (1, batch_size,: - 服务拆分:将业务功能拆分成不同的服务,每个服务都有独立的职责 embed_size) h_t, c_t, context, attention = self.step(y_emb.squeeze(0), h_t, c_t, enc和功能。 - 服务通信:服务之间需要通过某种方式进行通信,比如 RESTful API、RPC 等_hiddens, context) # h_t: (batch_size, hidden_size), c_t: (batch_size, hidden_size), context。 - 服务治理:需要对服务进行管理和监控,包括服务注册、服务发现、负载均衡: (batch_size, hidden_size*2), attention: (batch_size, src_sent_len) combined_output = self.combined_output、熔断降级等。 2. 技术选型: 在选择技术栈时,需要考虑以下方面: -_projection(torch.cat((h_t, context), dim=1)) # (batch_size, hidden_size) combined_output = torch.tanh 语言:选择适合你的业务场景的编程语言,比如 Java、Go、Python 等。 -(combined_output) target_vocab_dist = self.target_vocab_projection(combined_output) # (batch_size, tgt_vocab_size) 框架:选择适合你的业务场景的框架,比如 Spring Cloud、Dubbo、ServiceComb 等。 - topk_probs, topk_idx = target_vocab_dist.topk(beam_size, dim=1) # (batch_size, beam_size 中间件:选择适合你的业务场景的中间件,比如 Redis、MySQL、Kafka 等。 3) for i in range(beam_size): new_hypo = Hypothesis(h.value + [topk_idx[0][i. 基础设施搭建: 在搭建微服务基础设施时,需要考虑以下方面: - 注册].item()], h.score + topk_probs[0][i].item()) all_hypo.append(new_hypo) # sort hypothesis中心:用于服务注册和发现,比如 Eureka、Consul 等。 - 配置中心:用于配置 by descending score and select top k sorted_hypo = sorted(all_hypo, key=lambda h: h.score, reverse=True) hypo = sorted_hypo[:beam_size] # check if all hypothesis have completed if all([h.value[-1]管理,比如 Spring Cloud Config、Apollo 等。 - 网关:用于 API 网关和请求转发,比如 Zuul == self.vocab.tgt['</sGateway 等。 - 链路追踪:用于分布式链路追踪和性能监控,比如 Zipkin、SkyWalking 等。 4. 业务实现: 在实现微服务业务逻辑时,需要考虑以下方面: - 服务开发:编写业务逻辑代码,并进行单元测试和集成测试。 - 服务部署:将服务部署到云平台或服务器上,并进行系统测试和性能测试。 - 服务监控:对服务进行监控和管理,包括日志管理、指标监控、告警等。 以上是搭建一个微服务项目的主要步骤,需要注意的是,在实际项目中,还需要考虑很多其他方面的问题,比如安全、容灾、自动化运维等。如果你需要更多帮助,可以提出具体问题,我会尽力帮助你。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

redrose2100

您的鼓励是我最大的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值