zoukankan      html  css  js  c++  java
  • [Go] 变量的声明和定义

    Email : hahayacoder@gmail.com

    1 Go中变量的声明和JavaScript很像,使用var关键字

     

    2 Go中变量的声明、定义有好几种形式 

    //声明并初始化一个变量

    var m int = 10

     

    //声明初始化多个变量

    var i, j, k = 1, 2, 3

     

    //多个变量的声明(注意小括号的使用)

    var(

       no  int

       name string

    )

     

    //声明时不指明类型,通过初始化值来推导

    var b = true//bool

     

    //一种简单的方式等价于varstrstring="Hello"

    str := "Hello"

     

    //Go中有一个特殊的变量_任何赋给它的值将被丢弃
    _, Ret:= 2, 3

     

    3 Go的编译器对声明却未使用的变量在报错

     

    4 C语言一样,Go语言中也是使用分号来终结语句。但是和C语言不同的是,Go语言的词法分析器在扫描源代码的过程中使用简单的规则自动插入分号,因此在编写源代码的多数时候就不需要加分号了。

     

    5 Go语言词法分析器插入分号的规则:如果在一个新行前方的最后一个标记是一个标识符(包括像intfloat64这样的单词)、一个基本的如数值这样的文字、或以下标记中的一个时,会自动插入分号

     

    6 通常Go语言仅在for语句中使用分号,以此来分开初始化器、添加和增量。还有一种情况就是,当你在一行中写了多个语句,也需要使用分号来分开

     

    7 由于Go语言词法分析器添加分号的特殊性,所以在有些情况下需要注意了:你都不应该将一个控制结构(ifforswitchselect)的左大括号放在下一行。如果这样做,将会在大括号的前方插入一个分号,这可能导致出现不想要的结果。

     

    8 学习的小例子

    // Var project main.go
    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    
    	//声明并初始化一个变量
    	var m int = 10
    	fmt.Printf("定义的变量值为:%d \n", m)
    
    	//声明初始化多个变量
    	var i, j, k = 1, 2, 3
    	fmt.Printf("定义的变量值为:%d、%d、%d \n", i, j, k)
    
    	//声明时不指明类型,通过初始化值来推导
    	var b = true //bool型
    	if b == true {
    		fmt.Printf("bool值为真.\n")
    	}
    
    	//一种简单的方式 等价于 var str string = "Hello"
    	str := "Hello"
    	fmt.Printf("定义的变量值为:%s \n", str)
    
    	//Go的编译器对声明却未使用的变量在报错
    	//使用保留字var声明变量 然后给变量赋值
    	var number int
    	number = 121
    	fmt.Printf("定义的变量值为:%d \n", number)
    
    	//变量定义的另一种形式 这种情况下变量的类型是由值推演出来的
    	text := "hahaya"
    	fmt.Printf("定义变量的值为:%s \n", text)
    
    	//多个变量的声明(注意小括号的使用)
    	var (
    		no   int
    		name string
    	)
    
    	no = 1
    	name = "hahaya"
    	fmt.Printf("学号:%d \t 姓名:%s \n", no, name)
    
    	//多个变量声明、定义的另一种形式
    	x, y := 2, "ToSmile"
    	fmt.Printf("学号:%d \t 姓名:%s \n", x, y)
    
    	//Go中有一个特殊的变量_ 任何赋给它的值将被丢弃
    	_, Ret := 2, 3
    	fmt.Printf("变量的值为:%d \n", Ret)
    }
    


  • 相关阅读:
    10天掌握webpack 4.0 Html 插件
    10天掌握webpack 4.0 服务篇
    spring boot 国际化信息
    Java 编程下使用 Class.forName() 加载类
    Java 编程下正则表达式判断字符串是否包含中文
    Adb connection Error:远程主机强迫关闭了一个现有的连接 解决方法
    Java 编程下简介 Class 与类加载
    通过htaccess文件配置多个一级域名指向根目录的子文件夹
    apache httpd.conf
    composer安装laravel框架时未生成Vendor解决办法
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/2992077.html
Copyright © 2011-2022 走看看