Go语言学习笔记(一)基础篇

基础篇

Go语言中 Print,Println 和 Printf 的区别

Print 和 Println
这两个打印方式类似,只在格式上有区别

  1. Println 打印的每一项之间都会有空行,Print 没有,例如:

fmt.Println(“go”,“python”,“php”,“javascript”) // go python php javascript
fmt.Print(“go”,“python”,“php”,“javascript”) // gopythonphpjavascript

  1. Println 会自动换行,Print 不会,例如:

fmt.Println(“hello”)
fmt.Println(“world”)

// hello
// world

fmt.Print(“hello”)
fmt.Print(“world”)
// helloworld

Println 和 Printf
Printf 是格式化输出,在很多场景下比 Println 更方便,举个例子:

func main() {
a:=10
b:=20
c:=30
fmt.Println(“a=”, a , “,b=” , b , “,c=” , c)
fmt.Printf(“a=%d,b=%d,c=%d” , a , b , c)
}

常量命名

const filename=
#const数值可作为各种类型使用
var c int = int(math.Sqrt(a*a+b*b))

特殊常量——枚举

iota 自增式
package main

import "fmt"

func enums() {
	const (
		cPP = iota
		python
		java
	)
	fmt.Println(cPP, python, java)
}

func huansuan() {
	const (
		b = 1 << (10 * iota)
		kb
		mb
		gb
		tb
		pb
	)
	fmt.Println(b, kb, mb, gb, tb, pb)
}

func main() {
	enums()
	huansuan()
}

在这里插入图片描述

一.变量使用细节

(1)声明变量

命名原则

Go 语言变量名由字母、数字、下划线组成,其中首个字母不能为数字。
声明和初始化方式
声明和初始化变量的一般形式是使用 var 关键字还有‘:’
1.声明变量(最简洁)
根据值自行判断变量类型,并用‘:’来省略‘var’
之后再给已有变量赋值直接用“=”

package main

import "fmt"

func main() {
	a, b, c := 1, 2, 3
	b=5
	fmt.Println("你的值是:", a, b, c)
}

2.声明变量var,变量名在前,类型在后(声明后不赋值,则int为默认值0,string为默认值空串)

package main

import "fmt"

func main() {
	var a, b, c int
	fmt.Println("你的值是:", a, b, c)
}

3.包内变量声明(必须用var)

```go
package main

import "fmt"

var (
	a, b, c = 1, 2, 3
)

func main() {
	fmt.Println("你的值是:", a, b, c)
}
(2)变量类型和大小查看以及转换

1.类型大小,类型查看

package main

import (
	"fmt"
	"unsafe"
)

var a, b, c, d int

func main() {
	a = 1
	fmt.Printf("a的数据类型是:%T,字节大小是:%d ", a, unsafe.Sizeof(a))
}

2.类型转换
Go 语言类型转换基本格式如下:

type_name(expression)

其中 type_name 是数据类型, expression 是原始数据或表达式。

package main
import(
  "fmt"
)

func main()  {
  var a uint = 8
  var b byte = 8
  //c := byte(a)
  fmt.Println(byte(a)==b)
  //将a转换为byte型,并与b相比查看是否等价
注意:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例如(int8的范围是-128~127)
在这里插入图片描述

3.浮点型

在这里插入图片描述
在Go中float64相当double
float64比float32精准

4.字符型

Go中没有专门的字符类型,如果要存储单个字符(字母),一般用byte。
字符串就是一串固定长度的字符连接起来的字符序列。
而Go的字符串不同,它由字节组成。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
字符类型本质讨论
在这里插入图片描述

5.字符串类型

介绍:字符串就是一串固定长度的字符连接起来的字符序列。
而Go的字符串不同,它由字节组成。

使用注意事项:
1)在Go中字符串一旦赋值,就不能修改
2)两种表示形式:
(1)双引号,会识别转义字符
(2)反引号,以字符串的原样输出,包括换行和特殊字符,可以实现防止攻击,输出源代码等(即不识别转义字符)

package main

import "fmt"

func main() {
	a := "识别转义字符!\n"

	b := `不识别"转义"字符!`
	fmt.Println(a, b)
}

3)字符串拼接
在这里插入图片描述
即当拼接多行字符串时, + 要在行尾,才不会被 ; 割开

6.bool型在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值