Java学习Go(入门)

下载Go

《官网下载golang》
直接点Download,然后根据你自己的操作系统进行下载,我这里以win10为例
在这里插入图片描述

安装go

默认安装到C:\Program Files\Go,这里我们可以选择安装到其他盘,也可以选择默认安装。初学者建议直接一路next。
安装完成后Win + S 输入cmd,输入以下命令查看是否安装成功

go env

输出内容如下:

C:\Users\X>go env
set GO111MODULE=on
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\X\AppData\Local\go-build
set GOENV=C:\Users\X\AppData\Roaming\go\env
#打包后的二进制可执行文件后缀名,不同系统后缀名不一样,windows是.exe
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
#操作系统的架构
set GOHOSTARCH=amd64
#操作系统
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\X\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
#工作目录,这个可以设置系统变量进行修改
set GOPATH=C:\Users\X\go
set GOPRIVATE=
#设置代理,因为国内很大概率无法访问google官网进行下载某些插件或依赖
set GOPROXY=https://goproxy.io,direct
#安装路径
set GOROOT=D:\softwareWork\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLCHAIN=auto
#工具文件夹路径
set GOTOOLDIR=D:\softwareWork\Go\pkg\tool\windows_amd64
set GOVCS=
#版本
set GOVERSION=go1.22.2
set GCCGO=gccgo
set GOAMD64=v1
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=0
set GOMOD=NUL
set GOWORK=
set CGO_CFLAGS=-O2 -g
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-O2 -g
set CGO_FFLAGS=-O2 -g
set CGO_LDFLAGS=-O2 -g
#打包配置
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -fno-caret-diagnostics -Qunused-arguments -Wl,–no-gc-sections -fmessage-length=0 -ffile-prefix-map=C:\Users\X\AppData\Local\Temp\go-build1065635485=/tmp/go-build -gno-record-gcc-switches

配置代理

win+s输入cmd,然后输入

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct

打开IDEA安装Go插件

无法安装的话,直接去IDEA下载插件对应IDEA的版本安装,版本太高可能无法安装成功,无法安装成功就降版本。
在这里插入图片描述

创建项目

在这里插入图片描述
在这里插入图片描述
示例代码,如下:
go是根据命名的首字母来区分是public还是private
大写字母开头表示public可以在外部包和内部包调用
小写字母开头表示private只允许所在包(内部包)调用

// 当前程序包名
package main//导入其它的包
import ("fmt"
)// 定义一个名为HELLO的常量,赋值为Hello world.【可以看到这里和Java有区别,它可以不用声明变量的类型,因为Go有类型推断】
const HELLO = "Hello world."// 定义一个名为num的全局变量,赋值为1
var num = 1// 声明变量类型为int,名为number,不能赋值
type number int// 声明一个名为User的结构【类似于Java的类】
type User struct {//变量名 类型【跟Java是反着来的,Java是先定义类型,再定义变量名】name stringage int
}// 声明一个名为MyInterface的接口【跟Java的接口差不多】
type MyInterface interface {}// 主程序【跟Java的main方法差不多,只不过Go的main方法没有入参(String args)和反参(void)】
func main() {//调用fmt的Println输出内容到控制台方法,传入我们定义的HELLO常量fmt.Println(num)fmt.Println(number(2))fmt.Println(HELLO)
}

运行程序输出:

1
2           
Hello world.

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

冷却塔的选型方法介绍

冷却塔形式冷却塔形式冷却塔形式 冷却塔有开式冷却塔、闭式冷却塔 闭式冷却塔与开式冷却塔的区别 1)开式冷却塔的冷却原理就是,通过将循环水以喷雾方式,喷淋到玻璃纤维的填料上,通过水与空气的接触,达到换热,再有风机…

Qt 窗口的坐标体系

Qt 窗口的坐标体系 Qt 中使用的坐标系也是平面直角坐标系,但是呢又和我们平时在数学中使用的坐标系是不同的,我们在数学中使用的坐标系是 x 向右增长, y 向上增长。 但是在 Qt 中使用的是 x 轴不变,y 轴是向下增长的。 所以Qt 中…

用python selenium实现短视频一键推送

https://github.com/coolEphemeroptera/VIVI 效果如下 demo 支持youtube视频搬运

PHP反序列化漏洞原理(附带pikachu靶场演示)

1.反序列化概念 序列化:是将变量转换为可保存或传输的字符串的过程;实现函数是serialize()反序列化:就是在适当的时候把这个字符串再转化成原来的变量使用,就是序列化的逆过程。实现函数是unserialize() 直白一点就是:序列化是把对象转换成字节流&#…

解析 IP(IPv4)地址

IPv 4 地址 一、组成二、IPv4 的分类三、子网掩码四、特殊的地址五、私有 IP 地址六、全局 IP 地址七、私有 IP 地址和全局 IP 地址的关系八、广播地址九、网络地址十、IP 地址个数计算十一、查看电脑的 IP 地址(window)十二、手动设置电脑的 IP 地址 为…

【C++初阶】vector使用特性 vector模拟实现

1.vector的介绍及其使用 1.1 vector的介绍 vector文档介绍 1. vector是表示可变大小数组的序列容器。 2. 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组&#…

如何利用ChatGPT进行论文撰写?

原文链接:如何利用ChatGPT进行论文撰写?https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247601619&idx1&snb686fbe87dedfac2df3a6afe780b2ffe&chksmfa820c34cdf5852251dca64597024ea62ddbde280086535ec251f4b62b848d9f9234688384…

服务器Linux上杀死特定进程的命令:kill

1、查看用户XXX正在运行的进程 top -u xxx2、查看想要杀死的进程对应的PID 先找到此进程对应的命令 取其中的main-a3c.py即可 ps -aux | grep main-a3c.py可以看到对应的PID是1325390使用kill杀死对应PID的进程 kill -9 1325390成功,gpustat可以看到之前一直占…

restful请求风格的增删改查-----修改and删除

一、修改&#xff08;和添加类似&#xff09; 前端&#xff1a; <script type"text/javascript">function update(){//创建user对象var user {id:$("#id").val(),username:$("#username").val(),password:$("#password").val…

华为海思校园招聘-芯片-数字 IC 方向 题目分享——第六套

华为海思校园招聘-芯片-数字 IC 方向 题目分享——第六套 (共9套&#xff0c;有答案和解析&#xff0c;答案非官方&#xff0c;未仔细校正&#xff0c;仅供参考&#xff09; 部分题目分享&#xff0c;完整版获取&#xff08;WX:didadidadidida313&#xff0c;加我备注&#x…

CSS基础:position定位的5个类型详解!

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生&#xff0c;一枚程序媛&#xff0c;感谢关注。回复 “前端基础题”&#xff0c;可免费获得前端基础 100 题汇总&#xff0c;回复 “前端工具”&#xff0c;可获取 Web 开发工具合…

C++设计模式:适配器模式(十四)

1、定义与动机 定义&#xff1a;将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的哪些类可以一起工作。 动机&#xff1a; 在软件系统中&#xff0c;由于应用环境的变化&#xff0c;常常需要将“一些现存的对象”放在新的环境…