📓golang学习
00 分钟
2024-11-10
2024-11-10
type
status
date
slug
summary
tags
category
icon
password

第一章-初识Go

1. 环境变量设置

变量名
变量值
变量作用
GOPATH
暂不用设置
go语言工作目录,指定存放自己编写的go项目,包,编译的二进制文件等
GOROOT
d:\Service\go\go1.19
指定Go开发包的安装目录
GO111MODULE
on
开启Go.mod功能。指定编译go代码时,所需要的依赖包, 直接使用go.mod来下载和管理。 go.mod是go官方依赖包 管理工具
GOPROXY
https://goproxy.cn
配置go下载包的代理地址为七牛云的go代理地址。 go依赖 包默认下载地址是国外的,中国访问不了

2. 第一个程序

package main : 必须在源文件中第一行指定该文件属于哪个包
import “fmt”:导入的包,,引入此包后可使用函数 fmt.println()
func main():程序的入口,即函数

3. go run与go build的区别

  1. go run 命令会编译源码,并执行源码中的main()函数,但不会留下可执行文件
  1. go build 命令会把源文件编译,并将它所依赖的包打包为可执行文件
  1. go run 要比go build慢一些,生产环境中要求上传go build 打包的可执行文件
  1. go build 打包后要比源文件大很多,因为打包依赖了其他文件
  • 通过命令行进行编译执行
notion image
  • o表示指定编译后可执行程序的名字。
notion image
执行main.exe
notion image

4. 跨平台编译-windows编译linux可执行程序

在开发目录中打开cmd窗口,临时更改环境变量
  • 设置静态编译
  • 指定编译linux平台二进制程序
  • 编译
notion image
  • 上传linux操作系统并执行
notion image
 

第二章-Go语言变量常量和常见的数据类型

1. Go语言命名规则

  1. 允许使用字母、数字、下划线
  1. 不允许数字开头
  1. 不允许使用关键字命名
  1. 区分大小写
  1. 见名知意

1.1. Go语言共有25个关键字:

var,const
常量与变量的声明
package,import
导入
return
用于从函数返回
defer
在函数退出之前执行
go
用于并行
select
用于选择不同类型的通讯
interface
定义接口
struct
用于定义抽象数据类型
break、case、continue、for、fallthrough、else、if、switch、goto、default
流程控制
chan
用于channel通讯
type
声明自定义类型
map
声明map数据类型
range
读取slice、map、channel数据

1.2. Go语言有36个预定义

Go语言中有很多预定义的名字,基本在内建的常量、类型和函数中,这些内部预定义的名字并非为关键字,可以重新定义。

2. 变量与常量

2.1. 变量

  1. var 变量名 数据类型 = 变量值
  1. var 变量名 数据类型
  1. 变量名 := 变量值

2.2. 常量

  1. const 常量名 数据类型 = 值
  1. const 常量名 = 值

2.3. 常量集(iota)

  • iota常量生成器可以使常量初始化,用它生成一组以相似规则初始化的变量
在一个conts生命语句中,第一个声明的常量所在的行,iota会被置为0,每换行一次+1

3. 标准输入输出

3.1. 标准输入

3.2. 标准输出

4. 基本数据类型

类型
名称
长度
空值
说明
bool
布尔类型
1
false
其值不为真即为假,不可以用数字代表true或false
byte
字节型
1
0
uint8别名
int, uint
整型
-
0
根据操作系统设定数据的值
int8
整型
1
0
-128 ~ 127
uint8
整型
1
0
0 ~ 255
int16
整型
2
0
-32768 ~ 32767
uint16
整型
2
0
0 ~ 65535
int32
整型
4
0
-2147483648 ~ 2147483647
uint32
整型
4
0
0 ~ 4294967295(42亿) int64 整
int64
整型
8
0
-9223372036854775808 ~ 9223372036854775807
uint64
整型
8
0
0 ~ 18446744073709551615(1844京)
float32
浮点型
4
0
小数位精确到7位
float64
浮点型
8
0.0
小数位精确到15位
string
字符串
-
“”
utf-8字符串

5. 基本数据类型占位符

bool 占位符
%t
int、uint占位符
%d
float32、float64占位符
%f
byte占位符
%c
string占位符
%s
 
上一篇
大三作业
下一篇
Python基础