• go(3)变量的应用与数据类型


    一.静态语言和动态语言
    
    * 静态类型语言和强类型语言是同一个意思,表示在编译期就确定了类型,而且类型是不可以改变的
    * 动态类型语言和弱类型语言是同一个意思,表示在运行过程中才能确定,且内容是什么类型变量类型跟随变化
    
    # 二.Go语言变量简介
    * Go语言和其他语言一样都有基本存储容器.可以存储一个或多个值在程序中,方便程序中多次使用容器中内容,这个容器称为:**变量**
    * Go语言虽然是静态类型语言,但是支持动态类型语言语法,因为Go语言希望程序员少声明变量,增加GC效率
    # 三.变量命名规则
    * 以字母或下划线开头(Go语言中多不以_开头)
    
    * 后面可以是任意数量的字符、数字和下划线
    
    * 区分大小写
    
    * 不能是关键字(关键字具备特定含义),下面是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
    //语法:
    //1. 声明
    var 变量名 类型
    //2. 赋值
    变量名=//示例:
    var smallming string
    smallming = "英文名"
    ```
    * 声明并赋值(此方式不建议)
    ```go
    //语法:
    var 变量名 类型 =
    ```
    * 短变量(只能在函数内使用)
    ```go
    //语法:
    变量名 :=//示例:
    smallming := "英文名"
    ```
    
    # 五.声明多个变量和赋值
    
    * 先声明后赋值
    ```go
    func main() {
        var a, b, c int
        a, b, c = 1, 2, 3
    }
    ```
    * 声明时赋值
    ```go
    func main() {
        var a, b, c, d = 1, 2, 3, false
        fmt.Println(a, b, c, d)
    }
    ```
    
    * 声明并赋值,推荐方式
    
    ```go
    func main() {
        var (
            a = 1
            b = true
            c = "测试"
        )
        fmt.Println(a, b, c)
    }
    ```
    * 使用短变量给多个变量赋值时,必须要保证至少有个变量是没有声明的
    ```go
    func main() {
        var (
            a = 1
            b = true
            c = "测试"
        )
        //短变量操作多个值时只要保证里面至少有一个新变量
        b, c, d := false, "smallming", 3
        fmt.Println(a, b, c, d)
    }
    ```
    # 三.浮点运算
    * float32和float64之间不可以相互运算,需要进行类型转换
    ```go
    func main() {
        var a float32 = 1.5
        var b float64 = 3.3         //默认是float64类型
        fmt.Println(a + float32(b)) //float64向float32转换
        fmt.Println(float64(a) + b) //float32向float64转换
    }
    ```
    * 建议使用float64,虽然占用空间多,但是float32在累计运算时可能出现误差
    * 整型运算和浮点型运算结果类型为本身类型
  • 相关阅读:
    安装mysql
    工坊第十天
    工坊第九天
    友链qaq
    About me
    好耶
    [Ynoi2011]初始化
    [Ynoi2013]大学
    [Ynoi2015]盼君勿忘
    [Ynoi2019模拟赛]Yuno loves sqrt technology III
  • 原文地址:https://www.cnblogs.com/topass123/p/13508084.html
Copyright © 2020-2023  润新知