zoukankan      html  css  js  c++  java
  • Go语言学习--变量与常量

    1. 定义

    Go 是一种开源的程序设计语言,它意在使得人们能够方便地构建简单,可靠,高效的软件。

    2. 产生原因

    1 计算机硬件技术更新频繁,性能提高很快,目前主流编程语言发展落后,不能合理利用多核CPU优势来提高系统性能
    2 软件设计复杂度高,维护成本大
    3 C/C++编译速度过慢,需要解决提高速度

    3. 语言特点

    4. 变量和常量

    标识符和关键字

    标识符

    由字母数字和_(下划线)组成,并且只能由字母和_开头
    例如:abc,_,a123

    关键字

    指编程语言中预先定义好的具有特殊含义的标识符。
    Go语言中有25个关键字:

    关键字 ---- ---- ---- ----
    break default func interface select
    case defer go map struct
    chan else goto package switch
    const fallthrough if range type
    continue far 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
    

    变量

    变量声明

    Go语言中的非全局变量需要声明后才能使用,同一作用域内不支持重复声明。

    声明

    Go语言中变量声明必须使用,不使用就编译不过去(因为在Go语言中需要去最大程度的节省空间)
    1. 标准声明
    var 变量名 变量类型
    行尾无需分号
    例子:
    var s1 string //声明一个保存字符串类型数据的s1变量
    2. 批量声明
    var ( a string b int c bool d float32 )
    3. 变量初始化
    每个变量会被初始化成其类型的默认值,例如: 整型和浮点型变量的默认值为0;字符串变量的默认值为空字符串;布尔型变量默认为false;
    初始化格式:
    var 变量名 类型 = 表达式
    例子:

    var name string = "Q1mi"
    var age int = 18
    

    初始化多个变量:
    var name, age = "Q1mi", 20
    3. 短声明变量
    在函数内部使用 := 方式声明并初始化变量

    package main
    
    import (
    	"fmt"
    )
    // 全局变量m
    var m = 100
    
    func main() {
    	n := 10
    	m := 200 // 此处声明局部变量m
    	fmt.Println(m, n)
    }
    

    4. 匿名变量
    在使用多重赋值时,如果想要忽略某个值,可使用匿名变量。
    匿名变量用一个下划线“_”表示。
    例子:

    func foo() (int, string) {
    	return 10, "Q1mi"
    }
    func main() {
    	x, _ := foo()
    	_, y := foo()
    	fmt.Println("x=", x)
    	fmt.Println("y=", y)
    }
    

    匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。
    注:
    函数外的每个语句都必须以关键字开始(var、const、func等)
    :=不能使用在函数外。
    _多用于占位,表示忽略值。

    常量

    常量即恒定不变的值,即定义程序运行期间不会改变的值。

    声明

    1. 标准声明
    const 常量名 赋值
    常量在定义的时候必须赋值
    例子:
    const e = 2.7182 //在运行期间e的值不能再发生变化
    2. 批量声明

    const (
        pi = 3.1415
        e = 2.7182
    )
    

    const同时声明多个常量时,如果值与上一行的相同则可以如下定义:

    const (
        n1 = 100
        n2
        n3
    )
    //即n1,n2,n3的值都是100
    

    iota

    iota是go语言的常量计数器,只能在常量的表达式中使用。
    例子:

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

    iota在const关键字出现时将被重置为0。const中每新增一行常量声明将会使iota计数一次。
    几个面试题的例子:

    const (
    		n1 = iota //0
    		n2        //1
    		_
    		n4        //3
    	)
    
    const (
    		n1 = iota //0
    		n2 = 100  //100
    		n3 = iota //2
    		n4        //3
    	)
    	const n5 = iota //0
    
  • 相关阅读:
    PC software
    pdf.js查看器 在线预览 office文件、图片、文本文件
    核算两个时间之间时长
    Flink sql 之 join 与 StreamPhysicalJoinRule (源码解析)
    Flink sql 之 TopN 与 StreamPhysicalRankRule (源码解析)
    Flink Sql 之 Calcite Volcano优化器(源码解析)
    Keepalive高可用部署
    Keepalive配置文件
    Erlang环境安装
    ZooKeeper集群
  • 原文地址:https://www.cnblogs.com/lz0149/p/14856872.html
Copyright © 2011-2022 走看看