zoukankan      html  css  js  c++  java
  • [Golang学习笔记] 04 程序实体1 变量声明

    变量声明:

    Go语言的程序实体包含:变量、常量、函数、结构体和接口,是一门静态类型的编程语言。

    (在声明变量或常量的时候,需要指定类型,或者给予足够信息是的Go语言能够推导出类型)

    Go语言变量的类型可以是预定义的类型,也可以是程序自定义的函数、结构体或接口。

    Go语言常量的类型,只能是Go语言预定义的基本类型。

    面试题:变量声明赋值有几种方式?

    1. 用关键字 var

    var num int
    var num int = 8
    var num = 8

    2. 短变量定义 :=
    基于第一种方式的代码,赋值符号=右边的代码不动,左边只留下num,再把=变成:=.

    num := 8

    Tips: 函数外的每个语句都必须以关键字开始(var, func等等),
    因此 := 结构不能在函数外使用

    考察点: 一个是要知道Go语言中的类型推断,以及他在代码中的基本体现,另一个是短变量声明的用法。

    Q1:Go语言的类型推断可以带来哪些好处?
    代码重构。不改变某个程序与外界的任何交互方式和规则,只改变内部实现。
    Go语言是静态类型,一旦在初始化变量时确定了他的类型,之后就不可能再改变。
    一句话回答:Go语言的类型推断 1.明显提升程序的灵活性,便于重构。2. 同时又不会给代码维护带来额外负担,更不会损失程序的运行效率。

    Q2:变量的重声明是什么意思?
    是对已经声明过的变量再次声明。

    前提条件:
    1. 类型必须与其原来的类型相同。
    2. 只可能发生在某一个代码块中。
    3. 只有在使用短变量声明时才会发生。
    4. 被“声明并赋值”的变量必须时多个,并且其中至少有一个是新的变量。

    Tips:如果两个变量位于不同的语法块中,短声明语法表示的仍然是“声明”而非“赋值”。此时他们就是重名的变量了,而且内层变量会“覆盖”外部变量。

    var err error
    n, err := io.WriteString(os.Stdout, "Hello, everyone! ")
    使用短变量声明对新变量n和旧变量err进行了声明并赋值,这时也是对后者的重声明。

    Tips:常量不能用 := 语法声明。

    本学习笔记是仅为了总结自己学到的Go语言核心知识,方便以后回忆,文中部分内容摘录自极客时间的《Go语言核心36讲》专栏,如有侵权,请联系我删除。

  • 相关阅读:
    Springboot 基于的SAP项目环境配置
    Impala 技术点梳理
    Elasticsearch 使用技巧笔记
    ELK 6.x 部署
    eclipse安装lombok
    IIS服务器管理学习
    Springboot依赖注入笔记
    Eclipse解决乱码问题
    Springboot依赖注入 Service类中使用静态变量
    javascript 操作符类型隐性转换
  • 原文地址:https://www.cnblogs.com/fyql/p/10198263.html
Copyright © 2011-2022 走看看