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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 20, maxActive 20

    com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 20, maxActive 20目录异常现象异常描述解决方案注意事项异常现象com.alibaba.druid.pool.GetConnectionTimeoutException:waitmillis60000,active20,maxActive20,creating0异常描述从异常现象中com.alibaba.druid.pool.GetConnectionTimeout…

  • 计算机的数学思想源头(回复“计算机数学”可下载PDF典藏版)「建议收藏」

    计算机的数学思想源头(回复“计算机数学”可下载PDF典藏版)「建议收藏」计算机的数学思想源头(回复“计算机数学”可下载PDF典藏版)…

  • yum命令安装wget无法安装

    yum命令安装wget无法安装通过yum-yinstallwget安装wget失败,先执行下面命令curl-o/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo而后再执行yum-yinstallwget

  • 简单线段树模板[通俗易懂]

    简单线段树模板[通俗易懂]例如: 给你任意几个数,给定N个区间,让你求这个区间的和;简单线段树的运用,帮助我更好的理解线段树,           //线段树基本#include#defineMAXN100100#defineMINN10000100int num[MAXN],t[MINN];voidbuild(intL,intR,intd){     if(L==R)

  • jvm优化(二)JVM 内存大小设置

    jvm优化(二)JVM 内存大小设置Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机。Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对JavaJVM有关内存方面的知识进行详细介绍。一、JavaJVM内存介绍JVM管理两种类型的内存,堆和非堆。按照官方的说法:“Java虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在Java虚拟

  • &0xffffffff(0x08)

    答案是-2为什么呢这里涉及到有符号整型数的补码,正数的补码与原码相同。负数的补码,将其原码除符号位外的所有位取反后加101111111+01111111=11111110符号位溢出了取反10000001再加110000010结果就得-2在网上看别人代码的时候,经常会看到他们把INF设为0x7fffffff,奇怪为什么设一个这么奇怪的十六进制数,一…

发表回复

您的电子邮箱地址不会被公开。

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