当前位置: 首页 > article >正文

go变量、打印、注释

Go 语言定义变量

变量:程序运行过程中的数据都是保存在内存中,我们想要在代码中操作某个数据时就需要去内存上找到这个变量,但是如果我们直接在代码中通过内存地址去操作变量的话,代码的可读性会非常差而且还容易出错,所以我们就利用变量将这个数据的内存地址保存起来,以后直接通过这个变量就能找到内存上对应的数据了。

下面仅仅是简单的介绍一下变量,后续还会详细讲解。

定义变量

  1. var定义变量
var 变量名 类型 = 表达式

比如:

var name string = "Jack"
  1. 类型推导方式定义变量

在函数内部,可以使用更简略的 := 方式声明并初始化变量。

注意:短变量只能用于声明局部变量,不能用于全局变量的声明

变量名 := 表达式

比如:

n := 10

fmt 包、Print、Println、Printf

Go 中要打印一个值需要引入 fmt 包

import "fmt"

fmt 包里面给我们提供了一些常见的打印数据的方法,比如:Print 、Println、Printf,在我们实际开发中 Println、Printf 用的非常多。

  1. Print 和 Println 区别:
  • 一次输入多个值的时候 Println 中间有空格 Print 没有:
package main

import "fmt"

func main() {
	fmt.Println("go", "python", "php", "javascript")
	fmt.Print("go", "python", "php", "javascript")
}

结果:

go python php javascript
gopythonphpjavascript
  • Println 会自动换行,Print 不会:
package main

import "fmt"

func main() {
	fmt.Println("hello")
	fmt.Println("world")
	fmt.Print("hello")
	fmt.Print("world")
}

结果:

hello
world
helloworld
  1. Println 和 Printf 区别:

Printf 是格式化输出,在很多场景下比 Println 更方便,举个例子:

package main

import "fmt"

func main() {
	a := 10
	b := 20
	c := 30
	fmt.Println("a=", a, ",b=", b, ",c=", c)
	fmt.Printf("a=%d,b=%d,c=%d", a, b, c)
}

结果:

a= 10 ,b= 20 ,c= 30
a=10,b=20,c=30

%d 是占位符,表示数字的十进制表示。Printf 中的占位符与后面的数字变量一一对应。
更多的占位符参考:https://studygolang.com/articles/2644 或者参考官网

注释

  1. 单行注释

用//可以作为单行注释,编译器会忽略//开头的这一行文本

// This is a comment
package main
import ("fmt")

func main() {
  // This is a comment
  fmt.Println("Hello World!")
}

也可以在代码末尾,用//进行注释

package main
import ("fmt")

func main() {
  fmt.Println("Hello World!") // This is a comment
}
  1. 多行注释

多行注释以 开头/,以 结尾/。

/和之间的任何文本/将被编译器忽略:

package main
import ("fmt")

func main() {
  /* The code below will print Hello World
  to the screen, and it is amazing */
  fmt.Println("Hello World!")
}

总结

本篇博客简单了了解了go语言如何定义一个变量,以及打印相关内容,包括单行注释和多行注释,变量相关内容下一篇博客会进一步详解。

参考文档

https://www.w3schools.com/go/go_comments.php


http://www.kler.cn/a/519170.html

相关文章:

  • Linux的权限和一些shell原理
  • 【25美赛A题-F题全题目解析】2025年美国大学生数学建模竞赛(MCM/ICM)解题思路|完整代码论文集合
  • 【机器学习】深入探索SVM:支持向量机的原理与应用
  • CentOS 7 安装fail2ban hostdeny方式封禁ip —— 筑梦之路
  • 在Qt中实现点击一个界面上的按钮弹窗到另一个界面
  • 《探秘:人工智能如何为鸿蒙Next元宇宙网络传输与延迟问题破局》
  • 构建企业级React应用的进阶实践
  • 神经网络的通俗介绍
  • 什么是 IndexedDB?
  • 怎么调整香港服务器硬盘分区大小?
  • 【长期更新】RN+expo 错误解决方案
  • linux中如何后台运行一个命令并获取它的进程号
  • 工程车辆检测数据集VOC+YOLO格式1239张10类别
  • 一站式云原生支持,Alibaba Cloud Linux性能有多强?
  • Pyecharts之地图图表的强大功能
  • 深度学习|表示学习|卷积神经网络|Padding(填充)的用处是什么?|12
  • FS8405 Release FS0B
  • Hutool的EnumUtil
  • 【C++动态规划 排序】823. 带因子的二叉树|1899
  • chrome插件:网站视频下载
  • HashTable, HashMap, ConcurrentHashMap 之间的区别
  • 深入了解 HTTP 头部中的 Accept-Encoding:gzip、deflate、br、zstd
  • 【深入理解SpringCloud微服务】Sentinel规则持久化实战
  • 代码随想录算法训练营day31(补0124)
  • docker搭建redis集群(三主三从)
  • vue中使用jquery 实现table 拖动改变尺寸