- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Mac上Go环境和VS Code的正确安装与配置方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
Go语言是Google新推出的结合了动态语言和静态语言优势的一个新兴的语言。下面介绍一下如何在Mac系统下安装和使用这个语言.
1.下载SDK 。
到 https://studygolang.com/dl 下载对应的SDK(需要翻墙) 。
Mac版本如下:
1.1 安装版:go1.8.darwin-arm64.pkg 。
下载完成之后,直接双击打开安装即可 。
1.2 压缩版:go1.8.darwin-arm64.tar 。
下载完成后需要解压,然后自己移动到要存放的路径下,并且配置环境变量等信息.
2.安装Go环境 。
选择1.8版本的安装版,双击安装。安装完成后,打开terminal ,输入如下命令,查看安装的版本
1
|
go version
|
3.配置环境变量 。
打开terminal 。
3.1 cd ~进入用户主目录, 。
3.2 ls -all查看是否存在.bash_profile 。
3.3 vim .bash_profile打开并编辑该文件 。
3.4 根据自己的实际情况配置路径,我配置到了外置硬盘中 。
1
2
3
|
export GOPATH
=
/
Volumes
/
gnhxsk
/
mygo
export GOBIN
=
$GOPATH
/
bin
export PATH
=
$PATH:$GOBIN
|
GOPATH:日常开发的根目录,Go从1.1版本到1.7版本必须设置这个变量,而且不能和Go的安装目录一样,这个目录用来存放Go源码,Go的可运行文件,以及相应的编译之后的包文件。所以,这个目录下面有三个子目录:src、bin、pkg 。
src 存放源代码(比如:.go .c .h .s等) pkg 编译后生成的文件(比如:.a) bin 编译后生成的可执行文件(为了方便,可以把此目录加入到$PATH变量中, 如果有多个gopath,那么使用${GOPATH//://bin:}/bin) 。
GOBIN:是GOPATH下的bin目录 。
PATH:环境变量。需要gobin目录加入到path路径下,生成可执行文件就可以直接运行了.
3.5 退出vim,执行下面的命令完成对golang环境变量的配置.
1
|
source ~
/
.bash_profile
|
3.6 go env查看配置后的效果 。
4.Hellow World 。
src目录是开发程序的主要目录,所有的源码是放在这个目录下面.
例如:$GOPATH/src/mymath表示mymath这个应用包或者可执行应用,这个是根据package是main还是其他来决定,main的话是可执行应用,其他的话就是应用包. 。
4.1 执行如下代码,在src文件夹下创建mymath文件夹 。
1
2
|
cd $GOPATH
/
src
mkdir mymath
|
4.2 新建文件sqrt.go 。
1
2
3
4
5
6
7
8
|
package mymath
func Sqrt(x float64) float64{
z :
=
0.0
for
i :
=
0
; i <
1000
; i
+
+
{
z
-
=
(z
*
z
-
x)
/
(
2
*
x)
}
return
z
}
|
4.3 编译应用 。
4.3.1 进入对应的应用包目录。然后执行go install,安装 。
4.3.2 在任意目录下执行go install mymath,安装 。
安装完成之后,可以进入如下目录,查看应用包 。
1
2
3
|
cd $GOPATH
/
pkg
/
${GOOS}_${GOARCH}
ls
mymath.a
|
4.4 调用应用包 。
4.4.1 新建应用包 。
1
2
3
4
|
cd $GOPATH
/
src
mkdir mathapp
cd mathapp
vim mian.go
|
main.go源码:
1
2
3
4
5
6
7
8
|
package main
import
(
"mymath"
"fmt"
)
func main(){
fmt.Printf(
"Hello,world. Sqrt(2) = %v\n"
,mymath.Sqrt(
2
))
}
|
4.4.2 编译程序 。
进入该应用目录,然后执行go build,那么在该目录下面会生成一个mathapp的可执行文件 。
1
|
.
/
mathapp
|
输出如下内容 。
1
|
Hello,world. Sqrt(
2
)
=
1.414213562373095
|
4.4.3 安装该应用 。
进入该目录执行go install,那么在$GOPATH/bin下增加了一个可执行文件mathapp,在terminal中输入如下命令可以执行 。
1
|
mathapp
|
也可以输出如下内容 。
1
|
Hello,world. Sqrt(
2
)
=
1.414213562373095
|
5.安装VS Code 。
5.1 到https://code.visualstudio.com下载Visual Studio Code,直接使用 。
5.2 安装Go插件 。
5.2.1 点击右边的Extensions图标,搜索Go插件,选择Go进行安装,安装之后,系统会提示重启Visual Studio Code 。
5.2.2 可以打开自动保存功能。开启方法:选择菜单File,勾选 。
5.2.3 用户设置 。
在顶部菜单选择Code->首选项->设置 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
{
"files.autoSave"
:
"off"
,
"go.buildOnSave"
: true,
"go.lintOnSave"
: true,
"go.vetOnSave"
: true,
"go.buildFlags"
: [],
"go.lintFlags"
: [],
"go.vetFlags"
: [],
"go.coverOnSave"
: false,
"go.useCodeSnippetsOnFunctionSuggest"
: false,
"go.formatOnSave"
: true,
"go.formatTool"
:
"goreturns"
,
"go.goroot"
:
"/usr/local/go"
,
/
/
你的Goroot
"go.gopath"
:
"/Volumes/gnhxsk/mygo"
,
/
/
你的Gopath
}
|
5.2.4 安装依赖包支持 。
* 自动安装:选择一个.go文件拖进入VS Code,然后VS Code会提示你安装依赖包,选择install all即可 。
* 手动安装:打开terminal,执行以下命令 。
1
2
3
4
5
6
7
8
9
10
11
|
go get
-
u
-
v github.com
/
nsf
/
gocode
go get
-
u
-
v github.com
/
rogpeppe
/
godef
go get
-
u
-
v github.com
/
zmb3
/
gogetdoc
go get
-
u
-
v github.com
/
golang
/
lint
/
golint
go get
-
u
-
v github.com
/
lukehoban
/
go
-
outline
go get
-
u
-
v sourcegraph.com
/
sqs
/
goreturns
go get
-
u
-
v golang.org
/
x
/
tools
/
cmd
/
gorename
go get
-
u
-
v github.com
/
tpng
/
gopkgs
go get
-
u
-
v github.com
/
newhook
/
go
-
symbols
go get
-
u
-
v golang.org
/
x
/
tools
/
cmd
/
guru
go get
-
u
-
v github.com
/
cweill
/
gotests
/
...
|
5.2.5 Visual Studio Code支持Go语言调试 。
执行以下命令:
1
2
3
|
go get
-
v
-
u github.com
/
peterh
/
liner github.com
/
derekparker
/
delve
/
cmd
/
dlv
brew install go
-
delve
/
delve
/
delve
go get
-
v
-
u github.com
/
peterh
/
liner github.com
/
derekparker
/
delve
/
cmd
/
dlv
|
修改“dlv-cert”证书 。
1.打开“钥匙串访问” 2.打开菜单->钥匙串访问->证书助理->创建证书 3.名称:dIv 身份类型:自签名证书 证书类型:代码签名 并选择“让我覆盖这些默认值” 4.单击“继续”,有限期(天数):365,可以自己修改,3650 5.一直继续,直到看到“指定用于该证书的位置”钥匙串,选择“系统”并单击“创建”按钮 6.重启Finder,再打开“钥匙串访问”,选择“系统”,就会看到创建好的“dlv-cert”证书 7.右键”dlv-cert”证书,选择“显示简介->信任->代码签名”修改为:始终信任 8.打开terminal,进入到之前安装好的$GOPATH/src目录下的dlv源码文件目录:github.com/derekparker/delve 9.输入如下命令就可以重新编译出一个带代码签名的dlv执行程序 。
1
|
GO15VENDOREXPERIMENT
=
1
CERT
=
dlv
-
cert make install
|
可能会遇到的问题 。
The execution file “./dlv -h” always return >> killed:9 。
stackoverflow解决方式:
I need to do this step below 。
brew install go-delve/delve/delve and go to $GOPATH/src/github.com/derekparker git clone https://github.com/derekparker/delve.git CERT=dlv-cert make install (remove old dlv > brew install delve > codesign dlv) 。
not just run go get github.com/derekparker/delve/cmd/dlv 。
and it works now. 。
重启Visual Studio Code,就可以完美使用了。推荐插件:vscode-icons 。
上面即是在Mac上Go环境和VS Code的正确安装与配置方法,如果遇到安装或配置问题,可以联系我们 。
最后此篇关于Mac上Go环境和VS Code的正确安装与配置方法的文章就讲到这里了,如果你想了解更多关于Mac上Go环境和VS Code的正确安装与配置方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我只是不喜欢 Logback 的 XML 或 Groovy 配置,而更喜欢用 Java 进行配置(这也是因为我将在初始化后的不同时间在运行时更改配置)。 似乎对 Logback 进行 Java 配置的
我的 sphinx 配置是: ================================ config/sphinx.yml development: bin_path: "/usr/loc
我们计划在生产服务器中部署我们的系统。我有兴趣了解更多有关优化网站性能的信息。 Sitecore 有哪些优化建议? (缓存,网络配置中的其他设置) 我们可以在 IIS 中做哪些优化? 找不到关于这些主
我有一个 Django 应用程序,可以处理网站的两个(或更多)部分,例如网站的“admin”和“api”部分。我还为网站的其余部分提供了普通的 html 页面,其中不需要 Django。 例如,我希望
我刚刚开始研究Docker。我有一个 Node 应用程序,可以调整大小和图像,然后在完成后向 aws 发送 SQS 消息。我已成功创建应用程序的 docker 镜像,并从本地计算机复制它,但遇到了无法
如何配置 checkstyle(在 Ant nt Maven 中)任务?我尝试了一点,但没有正确收到报告。这是我的 Ant 脚本。
我正在使用 Quartz 和 Spring 框架重写一个遗留项目。原始配置是 XML 格式,现在我将其转换为 Java Config。 xml 配置使用 jobDetail 设置触发器 bean 的作
tl;rd: 使用主键对数据库进行分区 索引大小问题。 数据库大小每天增长约 1-3 GB 突袭设置。 您有使用 Hypertable 的经验吗? 长版: 我刚刚建立/购买了一个家庭服务器: 至强 E
在安装 gcp 应用程序后,我们尝试使用 GCP 的图形 api 配置 Azure Active Directory saml 配置。我们正在遵循相同的 AWS graph api saml 设置 U
我刚刚了解了 spring security 并想使用 java hibernate 配置连接到数据库,但我发现的示例或教程很少。我通过使用 xml 配置找到了更多。我在这里使用 Spring 4.0
我们最近切换到 Java 8 以使用 java.time API(LocalDate、LocalDateTime,...)。因此,我们将 Hibernate 依赖项更新到版本 4.3.10。我们编写了
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《quarkus实战》系列的第六篇,咱
我是 NGINX 的新手,我正在尝试对我们的 ERP 网络服务器进行负载平衡。我有 3 个网络服务器在由 websphere 提供支持的端口 80 上运行,这对我来说是一个黑盒子: * web01.e
我们想使用 gerrit 进行代码审查,但我们在 webview 中缺少一些设置。 是否可以禁止提交者审查/验证他们自己的 提交? 是否有可能两个审稿人给 +1 一个累积它 到+2,以便可以提交? 谢
配置根据运行模式应用于 AEM 实例。在多个运行模式和多个配置的情况下,AEM 如何确定要选择的配置文件?假设以下配置在 AEM 项目中可用, /apps /myproject - con
我正在使用 Neo4j 服务器。我遇到了负载相对较低的问题。但是,响应时间相当长。我认为为请求提供服务的线程数太少了。有没有办法调整为 HTTP 请求提供服务的线程池的大小。那可能吗? 最佳答案 线程
我在/etc/default/celeryd 中有以下配置 CELERYD_NODES = "worker1 worker2 worker3" CELERYD_CHDIR = "path to pro
Plone 在其页面中显示来 self 的母语(巴西葡萄牙语)的特殊字符。但是,当我使用我创建的 spt 页面时,它会显示转义序列,例如: Educa\xc3\xa7\xc3\xa3o 代替 Educ
我正在尝试开始使用 Emacs/Clojure。安装 emacs 扩展的正确方法是什么。我正在尝试安装以下插件: https://bitbucket.org/kotarak/vimclojure 我已
我有一个简单的 C 项目结构: proj/ src/ docs/ build/ tests/ lib/ 尝试编写合适的 CMake 文件。 到目前为止我的尝试:http://pas
我是一名优秀的程序员,十分优秀!