Java学习Go(入门)

下载Go

《官网下载golang》

直接点Download,然后根据你自己的操作系统进行下载,我这里以win10为例

安装go

默认安装到C:\Program Files\Go,这里我们可以选择安装到其他盘,也可以选择默认安装。初学者建议直接一路next。

安装完成后Win + S 输入cmd,输入以下命令查看是否安装成功

powershell 复制代码
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,然后输入

powershell 复制代码
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct

打开IDEA安装Go插件

无法安装的话,直接去IDEA下载插件对应IDEA的版本安装,版本太高可能无法安装成功,无法安装成功就降版本。

创建项目


示例代码,如下:

go是根据命名的首字母来区分是public还是private

大写字母开头表示public可以在外部包和内部包调用

小写字母开头表示private只允许所在包(内部包)调用

go 复制代码
// 当前程序包名
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)
}

运行程序输出:

go 复制代码
1
2           
Hello world.
相关推荐
醉殇姒若梦遗年21 分钟前
怎么用idea打jar包
java·intellij-idea·jar
林九生25 分钟前
【Docker】Docker环境下快速部署Ollama与Open-WebUI:详细指南
java·docker·eureka
虾球xz1 小时前
游戏引擎学习第276天:调整身体动画
c++·学习·游戏引擎
Aric_Jones1 小时前
lua入门语法,包含安装,注释,变量,循环等
java·开发语言·git·elasticsearch·junit·lua
Akiiiira1 小时前
【日撸 Java 三百行】Day 12(顺序表(二))
java·开发语言
虾球xz1 小时前
游戏引擎学习第275天:将旋转和剪切传递给渲染器
c++·学习·游戏引擎
qq_386322692 小时前
华为网路设备学习-21 IGP路由专题-路由过滤(filter-policy)
前端·网络·学习
J先生x2 小时前
【IP101】图像处理进阶:从直方图均衡化到伽马变换,全面掌握图像增强技术
图像处理·人工智能·学习·算法·计算机视觉
Chase_Mos5 小时前
Spring 必会之微服务篇(1)
java·spring·微服务
虾球xz6 小时前
游戏引擎学习第268天:合并调试链表与分组
c++·学习·链表·游戏引擎