一、规范

main 函数为入口

严格区分大小写

不需要加分号

一行只写一条语句

定义的变量或者导入的包必须要用到,否则编译时会报错

左括号不能单独一行

逗号可以用来在换行时连接字符串

 

标识符由字母数字下划线组成,不能数字开头

变量名用驼峰法表示,如果首字母小写,只能本包访问,如果首字母大写可以被其他包访问。这个和其他编程语言有些不同。go语言没有 public,private等。

二、转义字符

(2)go 规范,变量,基本数据类型_浮点数

三、注释

//

/**/

四、变量

1.指定变量类型,如果没赋值则自动默认值

var i int=3

2.自行推断

var str="tom"

3.省略var的声明,注意该变量之前没有声明过

name :="tom"

4.一次声明多个变量

(1)

var a,b,c int

(2)

(2)go 规范,变量,基本数据类型_浮点数_02

(3)在函数外定义即全局变量

(2)go 规范,变量,基本数据类型_浮点数_03

(4)全局变量可以不使用也不报错

5.退化赋值

func main() {
x := 3
println(&x)
x, y := 6, "abc"

println(&x)
println(y)
}

 

(2)go 规范,变量,基本数据类型_浮点数_04

6.常量

const i, j int = 3, 4

常量可以不使用也不报编译错误

 7. 枚举 iota

func main() {
const (
x = iota
y
z
)
print(z) //2
}

 

 

五、数据类型

(2)go 规范,变量,基本数据类型_浮点数_05

1.整数类型

(1)有符号

(2)go 规范,变量,基本数据类型_字符串_06

(2)无符号

(2)go 规范,变量,基本数据类型_浮点数_07

(3)其他

(2)go 规范,变量,基本数据类型_赋值_08

(4)查看类型和字节数

 

(2)go 规范,变量,基本数据类型_赋值_09

 2.浮点数

浮点数可能会有精度的损失

 

(2)go 规范,变量,基本数据类型_浮点数_10

(1)固定范围,不受操作系统位数的影响

(2)默认为64位

(3)形式

(2)go 规范,变量,基本数据类型_浮点数_11

(2)go 规范,变量,基本数据类型_赋值_12

(4)推荐使用float64

 3.字符类型 char

(1)用单引号存字符

字符在 0-255 的ASCII 码之间 用 byte存放,超出用更大的数字类型存放。这一点的其他编程语言的写不同。

(2)go语言使用UTF-8编码,UTF-8中包含ASCII 码,且位置对应,英文一个字节,汉字三个字节

(3)字符类型的本质是数字。

(2)go 规范,变量,基本数据类型_赋值_13

 

4.bool

只有ture 和false,不能使用0

 

5.字符串

(1)字符串不能被修改

(2)反引号中的字符串会原样输出

(3)拼接时 加上要在换行的末尾

(2)go 规范,变量,基本数据类型_字符串_14

 

五、基本类型默认值

(2)go 规范,变量,基本数据类型_赋值_15

六、基本类型转换

(1)go不能自动转换

(2)转换语法:T (V) .  T是类型,V是变量。

例:

(2)go 规范,变量,基本数据类型_浮点数_16

(3)转后的数据改变了,但变量的数据类型不改变

(2)go 规范,变量,基本数据类型_字符串_17

(2)go 规范,变量,基本数据类型_字符串_18

(2)go 规范,变量,基本数据类型_赋值_19

(4)由高精度向低精度转换时,如果发生溢出,不会编译报错,但是会得到一个错误结果

 

 七、格式化输出

%v 值的默认格式表示

%t 单词true或false

%d 表示为十进制

%b 表示为二进制

%s 直接输出字符串或者[]byte

%f 有小数部分但无指数部分,如123.456

更多: ​​https://studygolang.com/pkgdoc​​   -fmt

八、转字符串

 

(1)方法1

fmt.Sprintf() 方法

(2)go 规范,变量,基本数据类型_赋值_20

(2)方法2

strconv

(2)go 规范,变量,基本数据类型_赋值_21

int转string

(2)go 规范,变量,基本数据类型_字符串_22

 

九、string转基本

 

(2)go 规范,变量,基本数据类型_字符串_23

go函数能返回多个值,这个函数返回两个值, _ 代表忽略第二个值。