2.变量、常量、运算符

注释

// 单行注释

/*
多行注释
*/

变量

标识符

在编程语言中具有特殊意义的词,如:变量名、函数名等。由下划线、字母、数字组成。只能以字母和下划线开头

关键字

25个关键字:

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

37个保留字:

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 name string
var age int
var isOk bool

批量声明

var (
  a string
  b int
  c bool
)

变量初始化

变量在声明的时候,会赋予一个初始零值(string:“”,int:0, bool:false,切片、函数、指针:nil)

在变量声明时初始化

var 变量名 类型 = 表达式
// 例:
var name string = "老王"

类型推导

go语言支持省略变量类型声明变量,这时候编译器会根据等号右边的值来推导变量类型

var name = "liming"
var age = 10
// 一次初始化多个值
var name2, age2 = "zhangsan", 18

短变量声明

在函数的内部,可以使用更简略的方式声明并初始化变量

package main

import "fmt"

func main() {
  name := "liming" //(只能用在函数中)
}

匿名变量

在使用多重赋值时,如果想要忽略某个值,可以使用匿名变量,有 _ 表示

多用于占位,表示忽略值

package main

import "fmt"
func foo()(int, string){
  return 10, "lisi"
}
func main() {
  _, name = foo()
  fmt.println(name)
}

常量

常量声明

常量是恒定不变的值,多用于定义程序运行期间不会改变的那些值,常量在定义的时候必须赋值

const pi =3.142 
const e =2.718 

// 批量声明
const (
  a = 2
  b = 3
  c  // 在批量声明时,遇到这种没有值的,代表和上面一行的值相同
  d
)

iota

常量计数器,只能在常量的表达式中使用

iota在const关键字出现时被重置为0。const中每新增一行常量声明,iota就计数一次,可以用来定义枚举值

const(
  n1 = iota//0
  n2 //1
  n3 //2
)

可以使用_跳过某个值

const(
  _ = iota
  n1 // 1
  n2 // 2
)

插队的情况

const(
  n1 = iota // 0
  n2 // 1
  n3 = 100
  n4 = iota //3
)

还可以给iota加上计算

const(
  _ = iota
  n1 = 10*iota
)
const(
  n1, n2 = iota+1,iota+2 // iota = 0, n1 = 1, n2 = 2
)

算数运算符

运算符 描述
+
-
*
/ 除(取整)
% 求余

关系运算符

运算符
==
!=
>
>=
<
<=

逻辑运算符

运算符 描述
&& 逻辑与(AND),两边都是True则为True
|| 逻辑或(OR),有一边是True则为True
逻辑非(NOT),True为False,False为True

位运算符

将数字转换为二进制后再操作

运算符 描述
& 二进制的与(两位都为1则为1)
| 二进制的或(两位有一位为1则为1)
^ 二进制的异或(两位不同则为True)
<< 左移
>> 右移
a:=1 // 001
b:=5 // 101
a&b // 001=>1
a|b // 101=>5
a^b // 100=>4
1<<2 // 100=>4
4>>2 // 1  =>1

赋值运算

运算符 描述
= 简单的赋值运算符,将一个表达式的值赋给一个左值
+= 相加后再赋值
-= 相减后再赋值
*= 相乘后再赋值
/= 相除后再赋值
%= 求余后再赋值
«= 左移后赋值
»= 右移后赋值
&= 按位与后赋值
|= 按位或后赋值
^= 按位异或后赋值
a:=5
a+=1 // a = a+1=>6
posted @ 2025-06-12 18:38  L大官  阅读(7)  评论(0)    收藏  举报