#yyds干货盘点#愚公系列2022年08月go教学课程002-go语言环境安装(代码片段)

愚公搬代码 愚公搬代码     2022-11-30     605

关键词:

一、Go语言环境安装

Go语言是一门编译性的语言需要有SDK工具包对其进行编译才能运行,其次需要有一个编辑工具来写代码,最后为SDK中的工具配置环境变量,所以总结一下可以包含三个方面:

  • SDK工具包安装
  • VSCode安装
  • 环境变量配置

Go语言支持的系统有:Linux、FreeBSD、Mac OS X(也称为 Darwin)、Windows。

当将 Go语言源码编写完成此时电脑还不能直接执行,需要使用编译器编译成二进制可执行文件,那么就需要使用Go语言的SDK工具包了。

Go语言SDK安装包下载地址:https://golang.google.cn/dl/


Windows下可以使用 .msi 后缀(在下载列表中可以找到该文件,如go1.18.3.windows-amd64.msi)的安装包来安装。

默认情况下 .msi 文件会安装在 c:\\Go 目录下。你可以将 c:\\Go\\bin 目录添加到Path环境变量中。添加后你需要重启命令窗口才能生效。


输入以下命令测试是否安装成功

go version #输出版本信息
go env #环境信息

二、第一个Go程序

Go语言运行流程图如下:

1.命令行运行

脚本代码test.go如下:

package main

import "fmt"

func main() 
   fmt.Println("Hello, World!")

命令行运行:

go run test.go


编译成exe运行

go build test.go ./test.exe

三、Go语言多版本控制

有时候,我们会遇到用到Go语言的多个版本,为了解决在不同场景下需要安装不同版本的需求,能够方便的进行不同版本间的切换,这里推荐一下gvm。

gvm是Go版本管理器,使用 shell 脚本开发。你可以按照文件进行安装即可,参考: https://github.com/moovweb/gvm

安装完成后,我们就可以安装其他go版本了。

gvm install go1.17.6
gvm use go1.17.6

执行完上面的命令之后就可以添加新版本的Go ,GOPATH、GOROOT 等环境变量会自动设置好,然后就可以直接使用指定版本的Go语言了。

总结

#yyds干货盘点#愚公系列2022年08月go教学课程021-go容器之切片操作(代码片段)

一、切片操作1.什么是切片切片和数组类似,都是数据集合。和数组不同的是,切片是一块动态分配大小的连续空间。2.切片的定义2.1切片的格式var变量名[]T//T表示切片类型。相关案例:packagemainimport"fmt"funcmain()//声明整型切片varn... 查看详情

#yyds干货盘点#愚公系列2022年08月go教学课程002-go语言环境安装(代码片段)

一、Go语言环境安装Go语言是一门编译性的语言需要有SDK工具包对其进行编译才能运行,其次需要有一个编辑工具来写代码,最后为SDK中的工具配置环境变量,所以总结一下可以包含三个方面:SDK工具包安装VSCode安装环境变量配... 查看详情

#yyds干货盘点#愚公系列2022年08月go教学课程031-结构体方法(代码片段)

一、结构体方法1.结构体方法的定义方法就是把某些逻辑代码封装到一起的集合,用固定格式包起来起个名字。go中的方法是一个函数,拥有附加的,单独元素的参数列表,称之为接收器。它被放在一个方法名之前。接收器的类... 查看详情

#yyds干货盘点#愚公系列2022年08月go教学课程035-接口和继承和转换与空接口(代码片段)

一、接口和继承和转换packagemainimport"fmt"typeHumanerinterface SayHello()typePersonerinterface Humaner Say()typeStudentstructfunc(s*Student)SayHello() fmt.Println("大家好")func(s*Student)Say() 查看详情

#yyds干货盘点#愚公系列2022年08月go教学课程032-结构体方法继承(代码片段)

一、结构体方法继承1.继承的概念继承是指一个子类(或称为派生类)继承父类(或称为基类)的特征(属性和操作)。继承是面向对象程序设计时实现代码复用的重要手段,它允许在原有的类的基础上进行扩展,增加功能,这样新产生... 查看详情

#yyds干货盘点#愚公系列2022年08月go教学课程027-深拷贝和浅拷贝(代码片段)

一、深拷贝和浅拷贝1.浅拷贝浅拷贝是指对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。go语言中赋值,函数传参,函数返回值都是浅拷贝。packagemainimport"fmt"funcmain()a:=[]string"1","2","3"b:=aa[0]="浅拷贝"fmt.Println("a:",... 查看详情

#yyds干货盘点#愚公系列2022年08月go教学课程017-分支结构之if(代码片段)

前言if条件语句是一个重要的编程语句,它用于告诉程序在某个条件成立的情况下执行某段程序,而在另一种情况下执行另外的语句。一、IF语句1.IF语句的基本使用Go语言中,ifelse条件判断格式如下:if表达式1分支1elseif表达式2分... 查看详情

#yyds干货盘点#愚公系列2022年08月go教学课程028-函数小结案例(通讯录)(代码片段)

一、通讯录1.什么是通讯录通讯录的信息可以涵盖多项内容比如:姓名、电话号码、单位电话、移动电话、传真号、电子邮件、QQ、MSN、个人主页、公司、街道、邮编、生日、大头贴、车牌、银行账号、俱乐部名称、爱好等等。... 查看详情

#yyds干货盘点#愚公系列2022年08月go教学课程014-运算符之算术运算符(代码片段)

前言运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。在Go语言中运算符大致可以分为5种类型:算术运算符、关系运算符、逻辑运算符、赋值运算符、其他... 查看详情

#yyds干货盘点#愚公系列2022年07月go教学课程025-递归函数(代码片段)

一、递归函数如果一个函数在内部调用自身本身,这个函数就是递归函数。递归函数的优点是定义简单,逻辑清晰。理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。构成递归的条件:子问题须与原... 查看详情

#yyds干货盘点#愚公系列2022年09月go教学课程034-接口和多态(代码片段)

一、接口1.接口的定义在生日常活中无时不刻不在使用各种接口,比如电脑的usb,手机的充电接口等等。在计算机程序中接口就是一种规范与标准,只是规定了要做哪些事情,具体怎么做,接口是不管的,接口把所有的具有共性... 查看详情

#yyds干货盘点#愚公系列2022年08月go教学课程016-运算符之逻辑运算符和其他运算符(代码片段)

一、逻辑运算符用于连接多个条件,一般来讲就是关系表达式,最终的结果也是一个bool值。1.逻辑运算符的概念运算符说明示例&&逻辑AND运算符。如果两边的操作数都是True,则条件True,否则为False(A&&B)为FalseII逻辑OR... 查看详情

#yyds干货盘点#愚公系列2022年08月go教学课程015-运算符之赋值运算符和关系运算符(代码片段)

一、赋值运算符赋值运算符的分类:基本赋值运算符:基本的赋值运算符是“=”。一开始可能会以为它是“等于”,其实不是的。它实际上意味着把右边表达式的值赋给左边的运算数。复合赋值运算符:复合的赋值运算符,又... 查看详情

#yyds干货盘点#愚公系列2022年09月go教学课程033-结构体方法重写方法值方法表达式(代码片段)

一、结构体方法重写和方法值1.方法重写方法重写又称方法覆盖。方法重写概念方法的重写是指两个方法的返回值、方法名、参数的类型和个数相同(子类重写父类的方法)。方法的重写,不能发生在同类中,只能发生在子类中。... 查看详情

#yyds干货盘点#愚公系列2022年10月微信小程序-全局配置属性

一、app.json配置属性类型必填描述最低版本entryPagePathstring否小程序默认启动首页pagesstring[]是页面路径列表windowObject否全局的默认窗口表现tabBarObject否底部tab栏的表现networkTimeoutObject否网络超时时间debugboolean否是否开启debug模式,... 查看详情

#yyds干货盘点#愚公系列2022年10月微信小程序-component组件的扩展(代码片段)

一、Component组件的扩展//behavior.jsmodule.exports=Behavior(definitionFilter(defFields)defFields.data.from=behavior,)//component.jsComponent(data:from:component,behaviors:[require(behavior.js)],ready()consol 查看详情

#yyds干货盘点#愚公系列2022年11月微信小程序-引用(代码片段)

前言1.模板的引入方式WXML提供两种文件引用方式import和includeimport:导入模板并没有真正的使用include:直接引入页面元素,已经使用了2.模板和组件的比较template(模板):是可以在wxml中引用的代码,就是在wxml中引用公用的wxml类... 查看详情

#yyds干货盘点#愚公系列2022年11月微信小程序-导航(跳转)(代码片段)

前言1.navigatornavigator是页面跳转的标签,具体参数如下:属性类型默认值必填说明最低版本targetstringself否在哪个目标上发生跳转,默认当前小程序2.0.7urlstring否当前小程序内的跳转链接1.0.0open-typestringnavigate否跳转方式1.0.0deltanumbe... 查看详情