golang语言学习第一课:如何定义变量,笔记及回顾「建议收藏」

golang语言学习第一课:如何定义变量,笔记及回顾「建议收藏」golang语言学习第一课:如何定义变量,笔记及回顾

大家好,又见面了,我是你们的朋友全栈君。

第一课主要讲go语言如何定义变量

需要注意的是:go语言定义了变量一定要使用,不使用会提示出错。这个机制比较好。

第一:完整变量定义法: var a int =3    注意:go语言跟其他语言定义变量不太一样,类型放后面,符合人们思维的习惯。

第二种:var省略类型法: var a =3

第三种:批量定义变量法:

var (

  a int =3

  b string=”hello”

       c  bool = true

)

省略类型版:

var (

  a =3

  b =”hello”

  c = true

)

第四种:自动推导类型法:只能在函数体内用自动推导的方式,在函数体外不能使用。

function variableshorter int  ( ) {       

  /*此处有点郁闷,函数返回类型也放后面定义,因为是从C和C#转过来的,老是不习惯*/

  a:=3

  b, c, d := 5, true, “string hello”

  b=110   /* 自动推导定义变量用冒号等号,其中冒号是定义变量的意思,第二次用变量的时候不能再用:=,只能用=赋值。*/

  return 0  //记得返回整形,

}

 

最后把练习的源代码全部放上来:

package main

import "fmt"
var aa =5       //包内部变量,不是全局变量
var ss ="hello5"  //用var定义变量可以省略类型
var bb bool = true  //在函数体外不能用bb:=true
/*
批量定义变量,可以放进一个括号里
var (
    aa=3
    ss="hello"
    bb=true
)

 */

func variableZeroValue (){
    var a int
    var s string
    fmt.Println(a,s)
    fmt.Printf("%d %s\n", a,s)
    fmt.Printf("%d %q\n",a,s) //需要多练习,格式化输出格式用“”双引号,里面多参数不能带逗号而是用空格

}

func variableInitialValue (){
    var a,b int =3,4
    var s string ="abc"
    fmt.Println(a,b,s)
}

func variableTypeDeduction(){
    var a,b,c,s =3,4,true,"abc" //注意 true是小写, True是错误的

    fmt.Println(a,b,c,s)
}

func variableShort(){
    a,b,c,s:=3,4,true,"abc" //:=中的冒号是定义变量,后面要用改变变量不能再用冒号等于,只能用=赋值符
    b=5  //改变变量的值,不能再用:=
    fmt.Println(a,b,c,s)
}

func main() {
    variableShort()
    fmt.Println(aa,bb,ss)
}

 

转载于:https://www.cnblogs.com/golangxiong/p/10066747.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107161.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 审批流程设计方案-介绍(一)

    审批流程设计方案-介绍(一)

    2021年12月10日
    41
  • SWD应用接口

    SWD应用接口随着ARM公司对Cortex系列的推出,采样SWD方式调试成了大家的首选。SWD不仅速度可以与JTAG媲美,而且使用的调试线少得多。很多人在采样SWD方式进行调试时,一般都是采用4线:①VCC     –    电源②GND    –   地线③SWDIO-   数据④SWCLK-  时钟       在对NXP的LPC111

    2022年4月25日
    58
  • Ansi,UTF8,Unicode,ASCII编码的差别

    Ansi,UTF8,Unicode,ASCII编码的差别

    2021年12月7日
    56
  • TS 索引类型

    TS 索引类型interfacep{name:string;age:number;}consta:<P,Textendskeyofp>(P:p,T[p]);//说明T的取值受限于pkeyofp相当于’name’|’age’;

    2022年5月20日
    142
  • 关于maven项目打jar包运行main方法

    关于maven项目打jar包运行main方法因项目需要,在main方法中需读取spring配置文件,完成插入操作。然后打包成jar包,运行main方法。具体操作:main方法中读取spring文件:ClassPathXmlApplicationContextcontext=newClassPathXmlApplicationContext(“spring-mybatis.xml”);要改成你自己的配置文件。Service…

    2022年6月19日
    113
  • 局部静态变量的定义_C语言强制转换数据类型

    局部静态变量的定义_C语言强制转换数据类型C语言中定义的静态变量存放在栈区,动态分配的内存空间位于堆区。这题答案为F为大家科普一下知识C语言中局部变量存在栈里,全局变量存静态存储区。局部变量在栈空间上分配,这个局部变量所在的函数被多次调用时,每次调用这个局部变量在栈上的位置都不一定相同。局部变量也可以在堆上动态分配,但是记得使用完这个堆空间后要释放之。全局变量全部存放在静态存储区,在程序开始执行时给全局变量分配存储区,程序行完毕就释放。在程序执行过程中它们占据固定的存储单元,而不动态地进行分配和释放;…

    2022年10月30日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号