Go-变量篇

一、变量的声明方式(三种)

  1、var a int = num

  2、var a = num

  3、a := num

二、字符类型使用细节

  *Golang的字符使用UTF-8.

  英文 -1 字节;汉字-3个字节

  1、字符常量用单引号括起来。

  eg: var c1 byte='a'

  2、在Go中,字符的本质是一个整数,直接输出时,是该字符对应的UTF-8的码值

   

  

   3、字符类型可以进行运算,相当于一个整数

三、布尔类型使用细节

  1、bool类型占用1个字节

  2、只能取false  true,无法强转。即不能用0或非0整数替代false和true

四、字符串类型使用细节

  Go的字符串是由单个字节连接而来,而不是字符

  1、简单使用

  

  2、Go中字符串不可变:一旦赋值,不可修改

  3、字符串的两种表现形式:

  

  (1)双引号:会识别转义字符

  (2)反引号:以字符串的原生形式输出。

  4、字符串拼接  

  

 五、各种类型变量的默认值

  

 六、基本数据类型的相互转换

  显示转换:byte——int  byte——string    该边变量值的转换

  隐式转换:int——float64  int——string    不改变变量值的转换

  Go在不同类型的变量之间赋值时需要显示转换。Golang中的数据类型不能自动转换

  

  注意:1、被转换的是变量存储的数据(即值),变量本身的数据类型并没有变化

  2、将大范围->小范围时,eg:int64->int8,编译不会报错,只是转换结果按溢出处理(截断),转换时需要考虑范围

  eg: var num1 int64 = 999999

     var num2 int8 = int8(num1) 

   fmt.Println("num2=",num2)

   输出结果为63。原因:999999对应二进制:11110100001000111111,截取后八位转换为10进制为63

七:基本数据类型与string类型之间的转换 

1、基本数据类型转string

  方式一:

  string=fmt.Sprintf("%参数输出类型",表达式)  

  

   方式二:使用strconv包的函数:

  1)bool——>str

  func FormatBool(b bool)string

    

  2)int——>str

  func FormatInt(i int,base int)string      base int :转换为多少进制的值(2-32)

  

  3)float——>str

  func FormatFloat(f float64, fmt byte,prec ,bitSize int)string

  

2、string转基本数据类型

  注意事项:当字符串无法转换为基本数据类型的值时,将使接收变量的值置为默认值(bool型为false)

  1)str——>int

  func ParseInt(s string, base int, bitSize int) (i int64, err error)    接收ParseInt转换后数据的类型必须为int64;bitSize值指的是string的值所属范围

  

  2)str——>Float

  func ParseFloat(s string, bitSize int) (f float64, err error)

  接收ParseFloat转换后的数据的类型必须为float64。当 bitSize=32 时,结果仍然是 float64 类型,但它可以转换为 float32 而不会改变它的值

  

 

八、标识符

  不能以单独"_"作为标识符,但可以位于标识符首位;不能以数字开头,且不包含“-”和空格

  1)包名:package的名字和目录保持一致

  2)变量名、函数名、常量名首字母大写表示公开,小写表示私有

 

posted @ 2023-06-21 18:36  图兜  阅读(50)  评论(0编辑  收藏  举报