go语言环境及基本常识2
code-server搭建golang环境
在扩展安装
go插件(发布者名称是golang)在自己安装软件的目录下载go的二进制包
折叠代码块BASH 复制代码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21cd ~/software
# 下载go的二进制安装包
# 下载地址可从这里查找=> https://golang.google.cn/dl/
wget https://golang.google.cn/dl/go1.17.6.linux-amd64.tar.gz
# 解压安装包
tar -zxvf go1.17.6.linux-amd64.tar.gz
# 在.bashrc中添加go的环境变量配置
vim ~/.bashrc
# 在最后一行添加下边的内容并保存。GOROOT根据自己的go解压路径填写
# GOPATH需要自己先创建好以后放所有go项目的文件夹,然后填写那个文件夹的路径
GOPATH=/root/work/go-project
export GOPATH
GOROOT=/root/software/go
PATH=$GOROOT/bin:$PATH
export PATH
# 刷新.bashrc
source ~/.bashrc
# 测试go是否安装成功
go version进入设置界面(
CTRL+,),下拉界面,随便找到一个在settings.json中编辑,点击进入,然后在根大括号中添加如下json内容折叠代码块JSON 复制代码1
2
3
4{
"go.goroot": "/root/software/go",
"go.gopath": "/root/work/go-project"
}如下为参数解释
折叠代码块YAML 复制代码1
2"go.goroot": 解压的go根目录
"go.gopath": 自己的go项目目录,以后所有的go工程都放到这个目录下CTRL + SHIFT + P,调出命令面板,输入Go: Install/Update Tools,用于安装go相关的插件,勾选所有的插件,然后安装即可
常用操作
命令行命令
折叠代码块BASH
复制代码
1 | # 更新依赖模块 |
单元测试
折叠代码块GOLANG
复制代码
1 | // 参考:http://c.biancheng.net/view/5409.html |
测试的时候可以使用如下命令来进行详细结果的输出
折叠代码块BASH
复制代码
1 | # -v 表示输出详细结果 |
不同平台的编译
折叠代码块BASH
复制代码
1 | # 不同平台的架构参考 |
基础知识
变量
折叠代码块GO
复制代码
1 | package test |
- 变量的数据值可以在区域内进行同类型变化
- 同一作用域变量不能重名
常量
折叠代码块GOLANG
复制代码
1 | // iota相当于一个常量组的行标 |
数据类型
折叠代码块YML
复制代码
1 | 基本数据类型: |
- rune和int32类似,用于存unicode码,用于存中文字符串
- byte和uint类似,用于存储单个字节的字符
- 不写变量类型,默认int, float64
- 变量类型要在正确范围内尽量用范围小的,节省空间,效率也高
- float32和float64可能有精读损失,字节大的精度大。推荐用float64
- 浮点数存储格式:符号位+指数位+尾数位
- 浮点数特殊表示方法折叠代码块GO 复制代码
1
2
3
4
5
6
7var num1 = 1.2
// 省略了0
var num2 = .123
// 科学计数法表示
var num3 = 5.1234e2
var num3 = 5.1234e-2
var num3 = 5.1234E2
流程语句
if
折叠代码块GOLANG
复制代码
1 | // 在if判断的时候条件可以多写一个语句 |
for
折叠代码块GOLANG
复制代码
1 | // 一般格式 |
switch
折叠代码块GOLANG
复制代码
1 | // fallthrough可以强制执行下一个case,即使下一个case是false |
select
这里指出了 select 中的 case 值判断情况。
折叠代码块GOLANG
复制代码
1 | // 布尔表达式:如果表达式的值为true,则运行对应的case语句 |
函数
折叠代码块GOLANG
复制代码
1 | // 1. 直接在返回值上定义返回的数据,不需要return结果,且可以在运行的时候直接调用 |
main函数
折叠代码块GOLANG
复制代码
1 | // main函数所在的包必须是main,但外部文件夹可以不叫main |
init函数
这个函数相当于是构造函数,一调用包就会执行
包内的每个文件都可以包含一个 init 函数,导入包后,会按照包内的文件名顺序依次执行其 init 函数。
折叠代码块GOLANG
复制代码
1 | package site |
结构体
折叠代码块GOLANG
复制代码
1 | // 1. 创建的时候需要用指针,因为需要修改结构体的内容 |
枚举
golang 中并没有枚举的定义,可使用如下方式来进行枚举的模拟操作
折叠代码块GOLANG
复制代码
1 | // 将别名看成是枚举的一个入口 |
数据类型
折叠代码块GOLANG
复制代码
1 | // 1. 获取数据的类型 |
私有公有
折叠代码块GOLANG
复制代码
1 | // 小写或下划线开头,外部不可访问 |
字符串相关
字符串输出
折叠代码块GOLANG
复制代码
1 | name, age, sex := "test", 12, "female" |
输入多行字符
折叠代码块GOLANG
复制代码
1 | // 输入多行字符串 |
printf的区别
折叠代码块GOLANG
复制代码
1 | // 直接打印格式化字符串 |
长字符串拼接
折叠代码块GOLANG
复制代码
1 | // 使用字节缓冲来处理 |
字符串截取
折叠代码块GOLANG
复制代码
1 | // 先获取某子串出现的位置,再获取切片 |
字符串修改
折叠代码块GOLANG
复制代码
1 | // 需要将字符串转为字符数组来进行处理 |
- 本文标题:go语言环境及基本常识2
- 创建时间:2024-01-04 16:54:26
- 本文链接:https://blog.212490197.xyz/article/program/golang/go-basic-knowledge-study-1/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
复制版权信息
v1.5.2