Java学习Go(入门)

news2024/10/2 10:40:48

下载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 string
	age 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.coloradmin.cn/o/1613649.html

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

相关文章

07节-51单片机-矩阵键盘

文章目录 1矩阵键盘原理2.扫描的概念3.弱上拉4.实战-实现矩阵键盘对应按钮按下显示对应值4.1配置代码模板 5.键盘锁 1矩阵键盘原理 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式 采用逐行或逐列的“扫描”,就可以读…

2024团体设计天梯赛(部分题解)

目录 个人总结: L1-1 编程解决一切(5分) AC代码: L1-2 再进去几个人(5分) AC代码: L1- 3 帮助色盲(10分) AC代码: L1- 4 四项全能(10分) 代码:(9分) L1-4 别再来这么多猫娘了…

【大语言模型LLM】-大语言模型乐园,高效办公不迷路!

🔥博客主页:西瓜WiFi 🎥系列专栏:《大语言模型》 ❤️感谢大家点赞👍 收藏⭐ 评论⭐ 🎥大语言模型LLM基础-系列文章: 【大语言模型LLM】-大语言模型如何编写Prompt? 【大语言模型LLM】-如何…

Pytorch第一部分数据模块

数据划分: 从数据集中将数据划分为训练集,测试集,验证集 # -*- coding: utf-8 -*- """ # file name : 1_split_dataset.py # author : tingsongyu # date : 2019-09-07 10:08:00 # brief : 将数据集划分为训…

20.Unity飞机大战游戏

1任务:使背景图动起来 2任务:飞机换帧动画 3任务:让飞机发射子弹 4任务:敌机出现 5任务:控制飞机 6任务:游戏碰撞逻辑 7任务:另外两种类型的敌机 8任务:拾取奖励物品换枪 9…

230基于matlab的布谷鸟(COA)多目标优化算法

基于matlab的布谷鸟(COA)多目标优化算法,以 满意度、成本、时间、质量为目标的多目标优化求解代码。程序已调通,可直接运行。 230 matlab 布谷鸟(COA)多目标优化 - 小红书 (xiaohongshu.com)

操作符不存在:sde.st_geometry ^ !sde.st_geometry建议 SQL函 数st_intersects在内联inlining期间

操作符不存在:sde.st_geometry ^ !sde.st_geometry建议 SQL函 数st_intersects在内联inlining期间 问题:最近在使用SQL图形处理函数处理图形时,莫名奇妙报如下错误,甚是费解 于是开始四处"寻医问药" 1、nav…

叶子相似的树

题目链接 叶子相似的树 题目描述 注意点 给定的两棵树结点数在 [1, 200] 范围内给定的两棵树上的值在 [0, 200] 范围内 解答思路 深度优先遍历按顺序找到两棵树各自的叶子节点并存储到两个list中,随后比较两个list是否相同即可 代码 /*** Definition for a b…

mysql基础20——数据备份

数据备份 数据备份有2种 一种是物理备份 一种是逻辑备份 物理备份 物理备份 通过把数据文件复制出来 达到备份的目的 用得比较少 逻辑备份 逻辑备份 把描述数据库结构和内容的信息保存起来 达到备份的目的 是免费的 数据备份工具 mysqldump (3种模式&#x…

力扣283. 移动零

Problem: 283. 移动零 文章目录 题目描述思路复杂度Code 题目描述 思路 1.定义一个int类型变量index初始化为0; 2.遍历nums当当前的元素nums[i]不为0时使nums[i]赋值给nums[index]; 3.从index开始将nums中置对应位置的元素设为0; 复杂度 时间…

【数据结构-树和二叉树-森林-哈夫曼树】

目录 1 树1.1 树的描述(基本术语) 2 二叉树(树的度最大为2)2.1 注意事项-五种基本形态2.2 二叉树的抽象数据类型定义 3 二叉树的性质3.1 两种特殊形式的二叉树-重点会计算3.2 题目练习: 4 二叉树的存储结构4.1 顺序存储…

卷积神经网络(CNN)基础

目录 卷积神经网络介绍 卷积神经网络原理 卷积层:通过在原始图片上平移来提取特征 激活层:增加非线性分割能力 池化层polling(下采样层):减少学习参数,去掉不重要的样本,降低网络的复杂度 卷…

面试(06)————MySQL篇

目录 问题一:在MySQL中,如何定位慢查询? 方案一:开源工具 方案二:MySQL自带慢日志 模拟面试 问题二:这个SQL语句执行很慢,如何分析的呐? 模拟面试 问题三:了解过索引…

【GlobalMapper精品教程】076:基于高程和影像数据创建电子沙盘(真实三维地形)

影像与数字高程模型叠加,可以构建三维真是地形。本文讲解在Globalmapper中基于高程和影像数据创建电子沙盘(真实三维地形)。 文章目录 一、加载数据二、创建三维网格三、三维叠加显示一、加载数据 本实验的数据(配套实验数据资料包中的data076.rar,订阅专栏,获取全文及数…

Java Web 网页设计(1)

不要让追求之舟停泊在幻想的港湾 而应扬起奋斗的风帆 驶向现实生活的大海 网页设计 1.首先 添加框架支持 找到目录右键添加 找到Web Application选中 点击OK 然后 编辑设置 找到Tomcat--local 选中 点击OK 名称可以自己设置 找到对应文件夹路径 把Tomcat添加到项目里面 因为…

分享几个申请免费SSL证书的平台

随着数字网络蓬勃发展,人们在享受互联网时代带来的便利生活外,网络安全问题也是日益变得严重;越来越多企业或个人选择通过安装SSL证书来保护网站的数据安全和提高企业的品牌形象,好在很多证书服务机构都有提供免费SSL证书申请的服…

【机器学习-15】决策树(Decision Tree,DT)算法介绍:原理与案例实现

前言 决策树算法是机器学习领域中的一种重要分类方法,它通过树状结构来进行决策分析。决策树凭借其直观易懂、易于解释的特点,在分类问题中得到了广泛的应用。本文将介绍决策树的基本原理,包括熵和信息熵的相关概念,以及几种经典的…

Modern CSV for Mac:强大的CSV文件编辑器

Modern CSV for Mac是一款功能强大的CSV文件编辑器,专为Mac用户设计,提供直观易用的界面和丰富的功能,使用户能够轻松编辑和管理CSV文件。 Modern CSV for Mac v2.0.6激活版下载 这款软件支持快速导入和导出CSV文件,方便用户与其他…

Docker - Compose

原文地址,使用效果更佳! Docker - Compose | CoderMast编程桅杆Docker - Compose 在部署应用时,常常使用到不止一个容器,那么在部署容器的时候就需要一个一个进行部署,这样的部署过程也相对来说比较繁琐复杂&#xff…

​「Python大数据」VOC数据清洗

前言 本文主要介绍通过python实现数据清洗、脚本开发、办公自动化。读取voc数据,存储新清洗后的voc数据数据。 一、业务逻辑 读取voc数据采集的数据批处理,使用jieba进行分词,去除停用词,清洗后的评论存储到新的列中保存清洗后的数据到新的Excel文件中二、具体产出 三、执…