快速上手Golang

自动推导赋值

:=自动推导赋值

Go中 不同的数据类型不能进行计算

对于浮点型默认都是float64 精确到小数点后15位

单引号的 为字节类型 一位0~255的字符转换

双引号的 为字符串类型

多重赋值

多重赋值a,b:=1,2

格式输出

格式输出printf

“%3d”三位整数,不满足三位时头部补空格

“%-3d”三位整数,不满足三位时尾部补空格

“%03d”三位整数,不满足三位时头部补0

“%f”默认保留6位小数

“%.3f”保留3位小数进行四舍五入

“%c“ 表示一个字符,如果 a:=’c’ 进行”%d“操作,则返回ascii码

“%p”表示 一个数据变量的内存地址

%b十进制转二进制数字

%o转八进制

输入操作

Fmt.Scan(&a)程序阻塞等待输入,且赋值给内存地址,

若aint类型 则直接收数字部分,非数字部分则被忽略

Str则 空格回车被忽略。截断。

Fmt.scan(&a,&b)截断也可接受,

命名规则

字母或下划线开头,区分大小写

常量

Const关键字 常量在数据区,不能通过取地址访问 大写字母表示

Iota 枚举

Iota枚举 自动生成器,给常量使用。每次自动增加1

Const(

A = iota

b = iota

c = iota

)

Const(

A1=iota

B1

C1

)

Const(

A1=iota //0

B1,D1=iota,iota //1,1 同一行,数值一样

C1 //2

)

数据类型转换

使用相关函数float64(param)等

指针

Switch case

Varflag=1 //不能是浮点数

Switchflag{

Case 1:

Xxx

Default:

xxxxx

}

for i:=1;i<=10;i++ {

fmt.Println("ii")

}

for; ; {

//死循环

}

Int转string

func main04() {

//100-999各位数字的立方和

for i := 100; i <= 999; i++ {

var h, t, d int

rs := []rune(strconv.Itoa(i))

//fmt.Println(flag)

h, _ = strconv.Atoi(string(rs[0:1]))

t, _ = strconv.Atoi(string(rs[1:2]))

d, _ = strconv.Atoi(string(rs[2:3]))

result := h*h*h + t*t*t + d*d*d

if (result == i) {

fmt.Printf("这是一个水仙花数%d", i)

}

}

}

func main04() {

//100-999各位数字的立方和

for i := 100; i <= 999; i++ {

a:=i/100

b:=i/10%10

c:=i%10

result := a*a*a + b*b*b + c*c*c

if (result == i) {

fmt.Printf("这是一个水仙花数%d \n", i)

}

}

}

九九乘法口诀表

for i := 1; i <= 9; i++ {

for m := 1; m <= i; m++ {

fmt.Printf("%d*%d=%d \t",i,m,i*m)

}

fmt.Printf("\n")

}

len()//长度方法

不定参数类型方法

Funcfucname(args …int){

}

Rage 遍历

For_,data := range arr{

}

函数类型

匿名函数

Funcmain01(){

func(a int,b int){

}(a,b)

F:=func(){}

F()

}

闭包

猜你喜欢

转载自blog.csdn.net/Zaric_001/article/details/128628338
今日推荐