首页 > 其他分享 >【入门】Go语言变量详解

【入门】Go语言变量详解

时间:2023-03-25 14:01:06浏览次数:36  
标签:入门 fmt name var 详解 Go main age 变量

目录

一、变量赋值的几种方式

1.1 声明单个变量

语法:

var name type
  • name:变量名称
  • type:变量类型

案例:

package main

func main() {
	var name string
	var age uint
}

1.2 声明多个变量

语法:

var name1,name2 int

案例:

package main

func main() {
	var num1,num2 int
}

1.3 初始化变量

在声明变量时对其进行赋值。
案例:

package main

import "fmt"

func main() {
	var name string = "qinzt"
	var age uint = 22
	// 多变量初始化值
	var height, weight = 1.78, 60.4
	fmt.Printf("姓名:%v 年龄:%d 身高:%.2f 体重%.2f", name, age, height, weight)
}

代码输出结果:

姓名:qinzt 年龄:22 身高:1.78 体重60.40

1.4 变量赋值

在定义变量后,再给变量赋值,也就是先声明后赋值。
案例:

package main

import "fmt"

func main() {
	var name string
	var age uint
	name = "qinzt"
	age = 22
	fmt.Println(name, age)
}

代码输出结果:

qinzt 22

1.5 自动推导类型方式声明变量

自动推到类型:在声明变量时不需要 var变量类型 其变量类型是变量值来决定的。
语法:

name := value
  • name:变量名称
  • value:变量值
    案例:
package main

import "fmt"

func main() {
	name := "qinzt"
	age := 22

	// 自动推导类型,多变量初始化
	height, weight := 1.78, 60.4
	fmt.Println(name, age, height, weight)
}

代码输出内容:

qinzt 22 1.78 60.4

二、输出输入格式控制

2.1 输出格式

输出常使用 fmt.Printlnfmt.Printf

  • fmt.Println:会在输出的内容末尾添加一个换行符
  • fmt.Printf:格式化字符串来输出内容,可以控制输出的格式和精度

案例:

package main

import "fmt"

func main() {
	name := "qinzt"
	age := 22
	height, weight := 1.78, 60.4

	fmt.Println(name, age, height, weight)
	fmt.Printf("姓名:%v 年龄:%v 身高:%.2f 体重:%.2f", name, age, height, weight)
}
  • %v: 值的默认格式表示
  • %.2f: 输出浮点类型,.后面2位

代码输出内容:

qinzt 22 1.78 60.4
姓名:qinzt 年龄:22 身高:1.78 体重:60.40

2.1 输入格式

输出常使用 fmt.Scan 可以接受输入的内容将其赋值给变量
案例:

package main

import "fmt"

func main() {
	var name string
	var age int
	fmt.Println("请输入您的姓名:")
	fmt.Scan(&name)
	fmt.Println("请输入您的年龄:")
	fmt.Scan(&age)
	fmt.Printf("姓名:%v 年龄:%v", name, age)
}

代码输出内容:

请输入您的姓名:
qinzt
请输入您的年龄:
22
姓名:qinzt 年龄:22

2.3 输出变量对应的地址

在内存中变量会开辟对应的存储单元,为了能够找到该存储单元对应数据,系统会给每个单元加上一个编号,这个编号就是变量的地址
案例:

package main

import "fmt"

func main() {
	var name string
	var age int
	fmt.Println(&name, &age)
	fmt.Printf("%p %p", &name, &age)
}

代码输出内容:

0xc000050270 0xc000018098
0xc000050270 0xc000018098

三、变量数据类型

1.1 整形

整形分为两类,分别是 有符号整数无符号整数

  • 有符号:表示既可以表示负数、也可以表示整数、也可以表示零
  • 无符号:只能是正整数

1)有符号整数

类型 有无符号 占用存储空间 表数范围
int8 1字节 -128~127
int16 2字节 -32768~32767
int32 4字节 -2147483648~2147483647
int64 8字节 -9223372036854775808~9223372036854775807

标签:入门,fmt,name,var,详解,Go,main,age,变量
From: https://www.cnblogs.com/qinziteng/p/17254573.html

相关文章

  • linux三剑客之grep详解
    1.什么是Grepgrep(GolobalRegularExpressionprint)是Linux系统中一个强大的文本搜索工具,也是俗称的搜索三兄弟之一,其他两个是awk和sed,grep可以把搜索到的内容打印到屏......
  • go gin web应用-通过中间件形式实现通用的参数检验
    都知道gin在web开发方面应用广泛,但在参数校验上,之前写一堆POST接口的时候,每个接口的业务代码里都要去实现validate校验逻辑,感觉代码复用糟糕。为解决这问题,想到通过......
  • go-pprof
    非侵入式的分析工具。主要分为几个阶段。1、收集运行信息引入包import"runtime/pprof"varcpuprofile=flag.String("cpuprofile","","writecpuprofileto......
  • 关于go-vendor和go-mod
    govendor在这个时间节点来讲的话,可能有些古典的气质了。govendor依旧在gomod的架构来讲,=gomodvendor这个是当时依赖于goland这个ide的环境中,默认会生成对应当前项......
  • 前端RSA非对称加密Go解密
    Person:JavaScript实现非对称加密ChatGPT:JavaScript可以使用公钥密码学算法来实现非对称加密。常用的公钥密码学算法包括RSA和ECC。下面是一个使用RSA算法......
  • go语言学习-grpc-1
    grpc简介gRPC由google开发,是一款语言中立、平台中立、开源的远程过程调用系统,gRPC客户端和服务端可以在多种环境中运行和交互,例如用java写一个服务端,可以用go语言写客户端......
  • MySQl学习(从入门到精通11)
    https://blog.csdn.net/qq_42055933/article/details/128935615?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~AD_ESQUERY~ylj......
  • go的环形数组
    packagemainimport( "errors" "fmt" "os")//使用一个结构体管理环形队列typeCircleQueuestruct{ maxSizeint//4 array[5]int//数组 head......
  • dos从入门到菜鸟
    第一章 批处理基础第一节、常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD。这些命......
  • odoo 开发入门教程系列-安全-简介
    安全-简介前一章中我们已经创建了第一个打算用于存储业务数据的表。在odoo这样的一个商业应用中,第一个考虑的问题就是谁(Odoo用户(或者组用户))可以访问数据。odoo为指定用......