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.mzph.cn/diannao/1437.shtml

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

相关文章

IMUGNSS的误差状态卡尔曼滤波器(ESKF)---更新过程

IMU&GNSS的误差状态卡尔曼滤波器(ESKF)---更新过程 ESKF的更新过程 ESKF的更新过程 前面介绍的是ESKF的运动过程,现在考虑更新过程。假设一个抽象的传感器能够对状态变量产生观测,其观测方程为抽象的h,那么可以写为 其中z为…

python爬虫笔记1

1 爬虫介绍 爬虫概述: 获取网页并提取和保存信息的自动化程序 1.获取网页 2.提取信息 css选择器 xpath 3.保存数据(大数据时代) 4.自动化 爬虫(资产收集,信息收集) 漏扫(帮我发现漏洞&#xff…

使用Python比较两张人脸图像并获得准确度

使用 Python、OpenCV 和人脸识别模块比较两张图像并获得这些图像之间的准确度水平。 一、原理 使用Face Recognition python 模块来获取两张图像的128 个面部编码,并比较这些编码。比较结果返回 True 或 False。如果结果为True ,那么两个图像将是相同的…

Python程序设计 字典

教学案例十 字典 1. 判断出生地 sfz.txt文件中存储了地区编码和地区名称 身份证的前6位为地区编码,可以在sfz.txt文件中查询到地区编号对应的地区名称 编写程序,输入身份证号,查询并显示对应的地区名称 若该地区编码不在文件中,…

SQVI创建以及生成程序

SAP数据快速查询工具:Sqvi-QuickView 项目实施&运维阶段,为了快速获取一些透明表数据,一开始接触项目肯定会通过大量的数据表查找,然后线下通过EXCEL通过VLOOKUP进行数据关联,这种方式在关联数据较少的情况比较适应…

齐超:思颜肌密从单科特长生向全科学霸进化

“从单科特长生向全科学霸进化”。 中国化妆品行业发展至今,走过了线下渠道蓬勃发展的时代,也经历了电商渠道的黄金时代,继而迈入当下的直播时代。而在每一个时代的转折点上,思颜肌密始终在行业前列,跨越一个个生命周…

书生·浦语大模型实战营Day04OpenXLab 部署

书生浦语大模型实战营Day04OpenXLab 部署 如何在 OpenXLab 部署一个 InternLM2-7B chat 的应用。 OpenXLab浦源平台介绍 OpenXLab 浦源平台以开源为核心,旨在构建开源开放的人工智能生态,促进学术成果的开放共享。OpenXLab面向 AI 研究员和开发者提供…

FPGA - ZYNQ Cache一致性问题

什么是Cache? Cache是一种用来提高计算机运行速度的一种技术。它是一种小而快的存储设备,位于CPU与内存之间,用于平衡高速设备与低速设备之间的速度差异。Cache可以存储常用的数据或指令,以便CPU更快地获取,从而减少对…

竞逐智能家居大模型:美的“蓄力”,海尔“疾行”

配图来自Canva可画 随着ChatGPT火热出圈,AI大模型便成为了各行各业必争的高地。“BAT”等互联网大厂、华为、小米等通讯巨头,以及一些垂直AI公司,都开始在大模型市场积极布局。众所周知,发展大模型的关键在于应用场景的落地&…

Redis-cluster集群架构

一、集群架构 上述集群架构师一个由多个主从节点群组成的分布式服务器,具有复制、高可用和分片的特性。Redis集群不需要sentine哨兵也能完成节点移除和故障转移。官方文档称可以扩展上万个节点。推荐不超过1000个;从节点只担任备份的角色,不承…

MySQL基础篇总结

参考:黑马程序员MySQL基础视频链接 数据库基本操作 启动与停止 1.第一种方式: 1>以管理员身份运行cmd 2>在命令行窗口中输入: 启动:net start mysql80停止:net stop mysql80 2.第二种方式: 1>WinR快捷方式打开如下: 输入&#…

【可视化大屏开发】19. 加餐-百度地图API实现导航加线路热力图

需求 Web端使用场景中会涉及到地图导航路线情况,并利用热力图显示路况信息。 实现效果如下: 输入起始地点,选择并开始导航 最终效果 思路步骤 利用百度地图API显示地图交通拥堵情况的热力图,需要按照以下步骤进行开发 步骤1&a…

9.Godot数组|遍历|静态变量|对象|调试

数组和字典的遍历 数组的概念 数组是一组数据的集合。在程序中负责批量处理数据。数组中的元素可以包括各个类型的数据,也可以对数组内数据类型进行限定。可以通过 数组名【数字】 的形式来访问数组元素,数字 0 代表数组的第一个元素。数组可以通过调用…

【大数据】TiDB: A Raft-based HTAP Database

文章目录 数据库知识介绍数据库系统的ACID特性分布式系统和CAP理论关系型数据库与非关系型数据库关系型数据库非关系型数据库 OldSQL、NoSQL、NewSQLOldSQLNoSQLNewSQL OLTP、OLAP、HTAP 前言:为什么选择TiDB学习?pingCAP介绍TiDB介绍TiDB的影响力TiDB概…

Java发送邮件 启用SSL

使用的maven依赖: <dependency><groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId><version>1.4.7</version> </dependency> 配置文件mail.properties如下: # 邮箱配置 email.username=your-email@exa…

[Java EE] 多线程(三):线程安全问题(上)

1. 线程安全 1.1 线程安全的概念 如果多线程环境下代码运行的结果不符合我们的预期,则我们说存在线程安全问题,即程序存在bug,反之,不存在线程安全问题. 1.2 线程不安全的原因 我们下面举出一个线程不安全的例子:我们想要在两个线程中对count进行操作 public class Demo9 …

山东大学操作系统实验一(Linux虚拟机实现)

目录 实验题目 实验要求 示例程序 主程序 头文件 重点代码解析 一、main函数的参数 参数介绍 参数输入方式 本块代码 二、信号处理 本块代码 原理介绍 实现效果 三、kill函数 功能介绍 使用方式 本块代码 四、头文件处理 本块代码 代码作用 实验程序 …

微调Llama3实践并基于Llama3构建心理咨询EmoLLM

Llama3 Xtuner微调Llama3 EmoLLM 心理咨询师

【嵌入式DIY实例】-称重计

DIY称重计 文章目录 DIY称重计1、硬件准备1.1 HX711 称重传感器模块2、硬件接线原理图3、代码实现在本文中,我们将使用数字体重秤 HX711 称重传感器模块来实现一个简易的称重计。 HX711 模块非常适合测量重量、力或任何其他可以以克为单位的东西。 该模块易于使用,可以连接到…

SpringBoot-餐饮业供应商管理系统-94116

SpringBoot餐饮业供应商管理系统 摘 要 随着餐饮业竞争的加剧&#xff0c;不仅需要有吸引力的菜肴&#xff0c;还需要先进的管理手段&#xff0c;才能在餐饮业站稳脚跟。通过完善的餐饮业供应商管理系统&#xff0c;不仅可以帮助餐饮企业在物流配送、商品管理等方面有所改进&a…