第一天主要了解学习了GO语言基础语法,完成了开发环境配置。
VSCODE配置GO语言环境:
1.下载GO SDK ( The Go Programming Language )
完成安装后,win+r键打开终端,输入下面两个指令查看是否安装完成
go version
go env
效果如下,
2.在终端设置代理,输入 go env -w GOPROXY="goproxy.io"
ps:不设置代理,vs那边下不了8个go工具。
3.打开VSCODE创建一个.go文件,vs提示下载工具,点击 install all
ps:安装失败的话可以换其他代理,终端输入
go env -w GOPROXY="https://goproxy.cn,direct"
或者
go env -w GOPROXY="https://mirrors.tencent.com/go/"
4.编写hello.go源程序
package main
import "fmt"
func main() {
fmt.Println("hello go")
}
遇到问题:
在go文件目录下,打开终端,初始化Go moudle,依次输入
go env -w GO111MODULE=on
go mod init xxx (xxx是文件夹名)
回到VSCODE进行debug,运行成功
GO语言基础语法学习:
基本框架大概是:package main +import{"fmt" "包名 " }+func main(){ 代码}
语法结构大致和c或者cpp类似,语句和python一样后面不用写 ;
变量定义:var 变量名=值 或者 变量:=值
变量类型会自动推导
常量定义:const 变量名=值
类型同样是自动确定
if-else:格式大致是 if xxx{}else if xxx{ }else{}
if 和else后面必须接大括号,
循环:go里只有for循环,格式: for xxx{},格式与java类似,可以当作while来用
switch case:go语言中case后不用break, 格式:switch a{
case x:xxx
..
default:xxx
}
数组:格式: 变量名:=make([ ]类型,长度),如:a:=make([]string,3)
或者 变量名:=[]类型{值,值,值}
赋值:a[0]=""
数组索引:变量名[开头:结尾],只支持正向的索引
延长数组:变量名=append(变量名,值,值),如a=append(a,"aa","bb")
数组复制:copy(数组,原数组)
map:定义格式:变量名=make(map[类型1]类型2),类型1是key的类型,类型2是值的类型
如a=make(map[string]int)
赋值:变量名[值]=值,如a["nnd"]=1
删除某个key:delete(变量名,key值),如delete(a,"nnd")
range:获取随机值, 变量名=range 数组,获取数组的某个值,
变量名,变量名=range map,获取map的值
函数:func 函数名(a 类型,b 类型)类型{xx return 值}
func 函数名(a 类型,b 类型)(m 类型,n 类型){xx return m,n}
指针:和c差不多,主要用途是对传入参数进行修改,为了类型匹配,传入时加上&
结构体:type 结构名 struct{}, type nnd struct{name string\ password string}
结构体方法:func(a *nnd)方法名(变量 类型){xxx}