Go 语言入门很简单 -- 3. Go 变量 #私藏项目实操分享#

简介: Go 语言入门很简单 -- 3. Go 变量 #私藏项目实操分享#

变量

变量可以从两个角度来理解:

  1. 可以改变的量,赋值一次还可以随意更改
  2. 使用多变,可以一次定义,多次使用

变量是指一个包含部分已知或未知数值或信息(即一个值)的存储地址,变量一般具有特定类型和关联名称。

package main
import "fmt"
func main() {
    var hello string = "Hello World~"
    fmt.Println("Hello, World!")
    fmt.Println(hello)
}

如上面的代码, hello 就是一个变量。我们来拆解这变量是如何来的:

在 Go 语言中,定义变量使用 var 关键字,

然后定义变量名如 hello 和类型 string

最后给这个变量指定一个值 Hello World

总结,变量:变量名+类型+值构成。

也可以先声明变量名和类型,最后再给变量赋值,如下面的代码:

package main
import "fmt"
func main() {
    var x int
    var y int
    x = 1014
    y = 2021
    fmt.Println("x + y = ", x+y)
}

变量可以更改

当定义了一个变量,赋值给一个值之后,还可以对这个变量进行修改,比如:

package main
import "fmt"
func main() {
    var nickName string
    nickName = "小王"
    fmt.Println("十年前,人们叫我: ", nickName)
    // After 10 years
    nickName = "老王"
    fmt.Println("十年后,人们叫我: ", nickName)
}

同样的变量名 nickName ,在程序中使用两次,代码运行结果:

十年前,人们叫我:  小王
十年后,人们叫我:  老王

海象运算符

什么是海象运算符( The Walrus Operator )。因为:=很像海象——眼睛小,长着两枚长长的牙,是不是很形象。

image.png

Go 语言为了方便程序员定义变量,使用这种海象运算符的变量命名方式: hello := "Hello World"

:= 之前并且没有指定变量类型。因为我们不需要指定该类型,因为 Go 编译器能够根据变量值推断类型,然后分配给这个变量。

hello 正在分配一个字符串字面量, hello 就被赋予字符串类型。另外,编译器可以也用 var 语句进行变量类型推导。

hello := "Hello World"
var hello2 = "Hello World"

所以之前的数学计算代码也可以写成这样:

package main
import "fmt"
func main() {
    x := 1024
    y := 2021
    fmt.Println("x + y = ", x+y)
}

变量命名

正确命名变量是软件开发的一个重要部分。 名称必须以字母开头,并且可以包含字母数字 _(下划线)符号。 Go 编译器不关心您命名变量的名称,但是最好让变量命名描述清楚,比如名字选择 name ,比命名为 x 更好。

x := "三多"
fmt.Println("My cat's name is:", x)
name := "柚子"
fmt.Println("The other cat's name is:", name)
catName := "柚子"
fmt.Println("My cat's name is:", catName)

最后,推荐一个帮助程序员命名的网站: https://unbug.github.io/codelf/,比如我们想命名name,可以搜索看看其他程序员如何命名 name 相关的变量名。

image.png

           

相关文章
|
2月前
|
Cloud Native 安全 Java
Go语言深度解析:从入门到精通的完整指南
🌟蒋星熠Jaxonic,Go语言探索者。深耕云计算、微服务与并发编程,以代码为笔,在二进制星河中书写极客诗篇。分享Go核心原理、性能优化与实战架构,助力开发者掌握云原生时代利器。#Go语言 #并发编程 #性能优化
406 43
Go语言深度解析:从入门到精通的完整指南
|
2月前
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
180 1
|
3月前
|
Cloud Native 安全 Java
Go语言深度解析:从入门到精通的完整指南
🌟 蒋星熠Jaxonic,执着的星际旅人,用Go语言编写代码诗篇。🚀 Go语言以简洁、高效、并发为核心,助力云计算与微服务革新。📚 本文详解Go语法、并发模型、性能优化与实战案例,助你掌握现代编程精髓。🌌 从goroutine到channel,从内存优化到高并发架构,全面解析Go的强大力量。🔧 实战构建高性能Web服务,展现Go在云原生时代的无限可能。✨ 附技术对比、最佳实践与生态全景,带你踏上Go语言的星辰征途。#Go语言 #并发编程 #云原生 #性能优化
|
4月前
|
Cloud Native 安全 Java
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
291 1
|
4月前
|
Cloud Native Go API
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
382 0
|
4月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
246 0
|
4月前
|
Cloud Native Java 中间件
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
223 0
|
4月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
319 0
|
10月前
|
存储 缓存 安全
Go 语言中的 Sync.Map 详解:并发安全的 Map 实现
`sync.Map` 是 Go 语言中用于并发安全操作的 Map 实现,适用于读多写少的场景。它通过两个底层 Map(`read` 和 `dirty`)实现读写分离,提供高效的读性能。主要方法包括 `Store`、`Load`、`Delete` 等。在大量写入时性能可能下降,需谨慎选择使用场景。
|
存储 负载均衡 监控
如何利用Go语言的高效性、并发支持、简洁性和跨平台性等优势,通过合理设计架构、实现负载均衡、构建容错机制、建立监控体系、优化数据存储及实施服务治理等步骤,打造稳定可靠的服务架构。
在数字化时代,构建高可靠性服务架构至关重要。本文探讨了如何利用Go语言的高效性、并发支持、简洁性和跨平台性等优势,通过合理设计架构、实现负载均衡、构建容错机制、建立监控体系、优化数据存储及实施服务治理等步骤,打造稳定可靠的服务架构。
289 1