数据类型和注意

变量的定义

在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。 举几个例子:abc, _, _123, a123。

go中的关键字

    break        default      func         interface    select
    case         defer        go           map          struct
    chan         else         goto         package      switch
    const        fallthrough  if           range        type
    continue     for          import       return       var

go中的保留字

 Constants:    true  false  iota  nil
  Types:          int  int8  int16  int32  int64  
                  uint  uint8  uint16  uint32  uint64  uintptr
                  float32  float64  complex128  complex64
                  bool  byte  rune  string  error
 Functions:   make  len  cap  new  append  copy  close  delete
                 complex  real  imag
                 panic  recover

变量的声明

//标准声明
var 变量名 变量类型
var 变量名 变量类型
//批量声明
var (
	变量名 变量类型
    变量名 变量类型
    变量名 变量类型
)
//这种没有指定值的都会有默认值,整形和浮点型的默认值为0,字符串'',布尔值为false,切片,函数,指针变量为nil

//声明变量且指定默认值
var age int = 18   //省略类型的话编译器会根据值来推导变量的类型

//简洁定义
n := 10
m := 20

//全局声明为全局变量函数内声明为局部变量

//忽略接受不需要的变量_
func foo() (int, string) {
	return 10, "Q1mi"
}
func main() {
	x, _ := foo()
	_, y := foo()
	fmt.Println("x=", x)
	fmt.Println("y=", y)
}

常量

//常量指的就是恒定不变的量
将变量的关键字换成const就是定义常量
eg: const pi = 3.14

//批量定义
const (
    pi = 3.1415
    e = 2.7182
)

//省略定义不写值默认与上一个常量值相同
eg:
const (
    n1 = 100
    n2
    n3
)

//常量计数器iota会将值依次递增
const (
		n1 = iota //0
		n2        //1
		n3        //2
		n4        //3
	)

//iota中间声明插队
const (
		n1 = iota //0
		n2 = 100  //100
		n3 = iota //2
		n4        //3
	)
	const n5 = iota //0

//多个iota定义在一行
const (
		a, b = iota + 1, iota + 2 //1,2
		c, d                      //2,3
		e, f                      //3,4
	)

基本数据类型

1.有符号整形(int,int8,int16,int32,int64),无符号整形(uint8),特殊整形就是不带数据跟多少位操作系统有关,uintptr无符号整形,用于存放一个指针
2.浮点型(float32,float64)
3.0b表示二进制,0o表示八进制,0x表示十六进制
4.布尔型
5.字符串
6.数组
7.切片
8.结构体
9.函数
10.通道

三个打印的区别

func main() {
	fmt.Println("hello world", x) //有换行和不在
	fmt.Println(x)
	fmt.Printf("%T\n", x) //格式化输出
	fmt.Printf("%T\n", a)
	fmt.Print(a, x) //普通打印且不会换行黏在一起
}

注意

//一个包下得到函数名和变量名要唯一
//函数形参要声明类型,以及返回值也要声明类型

posted on 2022-08-04 22:19  淦白嫖怪  阅读(56)  评论(0)    收藏  举报

导航