go变量声明等学习# 【我的go学习第二课】

简介: go变量声明等学习# 【我的go学习第二课】

go语言变量声明很简单,常见有以下几种:


1.常规变量声明


var power0 int
power0 = 900


这是标准声明模式,也是最冗长的,例如上面声明的 power0 变量。


2.简写模式


power := 9001
  fmt.Printf("It's power is over %d\n", power)


该模式较为简洁,即声明了 power变量并赋值9001,这种模式会自动识别变量类型,不过该模式只能声明局部变量,全局变量则不可以使用。


3.函数式简写


func getPower() int {
  return 9002
}
power2 := getPower()
fmt.Printf("It's power is over %d\n", power2)


该模式与函数结合,非常方便。


该模式需要注意相同的函数不能被声明两次,如果这样使用即会提示编译器错误。


4.多变量赋值


name, power3 := "JueJin", 90003
  fmt.Printf("%s's power is over %d\n", name, power3)


该模式同时给多个变量赋值,同时只需要有一个是新变量即可,不会报错。


此外需要注意的是,go语言中,未使用的变量不可以存在,否则会报语法错误,导致编译失败,这样可以有助于提高代码清洁度和可读性。


5.代码


代码

package main
import (
  "fmt"
)
func getPower() int {
  return 9002
}
func main() {
  var power0 int
  power0 = 9000
  fmt.Printf("It's power is over %d\n", power0)
  power1 := 9001
  fmt.Printf("It's power is over %d\n", power1)
  power2 := getPower()
  fmt.Printf("It's power is over %d\n", power2)
  name, power3 := "JueJin", 90003
  fmt.Printf("%s's power is over %d\n", name, power3)
}

F5一件运行,输出如下

Starting: C:\Users\livingbody\go\bin\dlv.exe dap --check-go-version=false --listen=127.0.0.1:1820 from c:\Users\livingbody\goworkspace\hello
DAP server listening at: 127.0.0.1:1820
Type 'dlv help' for list of commands.
It's power is over 9000
It's power is over 9001
It's power is over 9002
JueJin's power is over 90003
Process 8008 has exited with status 0
Detaching
dlv dap (19948) exited with code: 0


目录
相关文章
|
3月前
|
程序员 Go 云计算
2023年学习Go语言是否值得?探索Go语言的魅力
2023年学习Go语言是否值得?探索Go语言的魅力
|
3月前
|
缓存 NoSQL Go
通过 SingleFlight 模式学习 Go 并发编程
通过 SingleFlight 模式学习 Go 并发编程
|
6天前
|
设计模式 测试技术 Go
学习Go语言
【10月更文挑战第25天】学习Go语言
16 4
|
2月前
|
编译器 Go
go语言学习记录(关于一些奇怪的疑问)有别于其他编程语言
本文探讨了Go语言中的常量概念,特别是特殊常量iota的使用方法及其自动递增特性。同时,文中还提到了在声明常量时,后续常量可沿用前一个值的特点,以及在遍历map时可能遇到的非顺序打印问题。
|
3月前
|
JSON 中间件 Go
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
本文详细介绍了如何在Go项目中集成并配置Zap日志库。首先通过`go get -u go.uber.org/zap`命令安装Zap,接着展示了`Logger`与`Sugared Logger`两种日志记录器的基本用法。随后深入探讨了Zap的高级配置,包括如何将日志输出至文件、调整时间格式、记录调用者信息以及日志分割等。最后,文章演示了如何在gin框架中集成Zap,通过自定义中间件实现了日志记录和异常恢复功能。通过这些步骤,读者可以掌握Zap在实际项目中的应用与定制方法
122 1
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
|
3月前
|
算法 NoSQL 中间件
go语言后端开发学习(六) ——基于雪花算法生成用户ID
本文介绍了分布式ID生成中的Snowflake(雪花)算法。为解决用户ID安全性与唯一性问题,Snowflake算法生成的ID具备全局唯一性、递增性、高可用性和高性能性等特点。64位ID由符号位(固定为0)、41位时间戳、10位标识位(含数据中心与机器ID)及12位序列号组成。面对ID重复风险,可通过预分配、动态或统一分配标识位解决。Go语言实现示例展示了如何使用第三方包`sonyflake`生成ID,确保不同节点产生的ID始终唯一。
go语言后端开发学习(六) ——基于雪花算法生成用户ID
|
3月前
|
Go
Go - 学习 grpc.Dial(target string, opts …DialOption) 的写法
Go - 学习 grpc.Dial(target string, opts …DialOption) 的写法
56 12
|
3月前
|
JSON 缓存 监控
go语言后端开发学习(五)——如何在项目中使用Viper来配置环境
Viper 是一个强大的 Go 语言配置管理库,适用于各类应用,包括 Twelve-Factor Apps。相比仅支持 `.ini` 格式的 `go-ini`,Viper 支持更多配置格式如 JSON、TOML、YAML
go语言后端开发学习(五)——如何在项目中使用Viper来配置环境
|
2月前
|
Rust Linux Go
Rust/Go语言学习
Rust/Go语言学习
|
3月前
|
SQL 关系型数据库 MySQL
「Go开源」goose:深入学习数据库版本管理工具
「Go开源」goose:深入学习数据库版本管理工具
「Go开源」goose:深入学习数据库版本管理工具