【golang学习之旅】Go中的变量(1)

系列文章

【golang学习之旅】使用VScode安装配置Go开发环境
【golang学习之旅】报错:a declared but not used
【golang学习之旅】Go 的基本数据类型
【golang学习之旅】深入理解字符串string数据类型
【golang学习之旅】go mod tidy
【golang学习之旅】记录一次 panic case : reflect: reflect.Value.SetInt using unaddressable value
【golang学习之旅】记录一次 error case : full error output: cc1: error: unrecognized command line option
【golang学习之旅】Go程序快速开始 & Go程序开发的基本注意事项
【golang学习之旅】Go语言常用转义字符


目录

  • 系列文章
  • 变量声明方式
    • 第一种
    • 第二种
    • 第三种
  • 多变量声明
    • 局部变量
    • 全局变量


变量声明方式

第一种

指定变量类型,声明后若不赋值则使用默认值。

package mainimport "fmt"func main() {// 不赋值var var1 intfmt.Println("var1:", var1)// 赋值var var2 int = 10fmt.Println("var2:", var2)
}输出:
var1: 0
var2: 10

说明:

  • 这里的变量声明格式:

    • var 变量名 变量类型
    • var 变量名 变量类型 = 初值
  • var 这个关键字用来表示后面跟着的是变量

  • int 类型变量的默认值是0

第二种

不直接写出类型,但需写出变量值,编译器会根据值自动判定变量类型(类型推导)。

package mainimport ("fmt""reflect"
)func main() {var num = 10fmt.Println("num = ", num)fmt.Println("num 的类型是", reflect.TypeOf(num))var str = "hello world!"fmt.Println("str = ", str)fmt.Println("str 的类型是", reflect.TypeOf(str))
}输出:
num =  10
num 的类型是 int
str =  hello world!
str 的类型是 string

说明:

  • 这里的变量声明格式:

    • var 变量名 = 初值
  • reflect包下的TypeOf函数用于获取变量的类型信息

第三种

省略 var 关键字,而使用 := 这个符号。

package mainimport ("fmt""reflect"
)func main() {num := 10.0fmt.Println("num = ", num)fmt.Println("num 的类型是", reflect.TypeOf(num))str := "hello world!"fmt.Println("str = ", str)fmt.Println("str 的类型是", reflect.TypeOf(str))
}输出:
num =  10
num 的类型是 float64
str =  hello world!
str 的类型是 string

说明:

  • 这里的变量声明格式:

    • 变量名 := 初值
  • :=左侧的变量必须是没有声明过的


多变量声明

局部变量

package mainimport "fmt"func main() {// 多变量类型相同var n1, n2, n3 intfmt.Println("n1 = ", n1, "n2 = ", n2, "n3 = ", n3)// 多变量类型不同--使用var声明var n4, str1, f1 = 1, "hello", 3.4fmt.Println("n4 = ", n4, "str1 = ", str1, "f1 = ", f1)// 多变量类型不同--使用 := 声明n5, str2 := 10, "world"fmt.Println("n5 = ", n5, "str2 = ", str2)
}输出:
n1 =  0 n2 =  0 n3 =  0
n4 =  1 str1 =  hello f1 =  3.4
n5 =  10 str2 =  world

全局变量

可以使用小括号()来一次性声明全局变量

package mainimport "fmt"var (n1  = 10n2  = 20str = "hello"
)func main() {fmt.Println("n1:", n1, "n2:", n2, "str:", str)
}输出:
n1: 10 n2: 20 str: hello

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/31625.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Codepen Three.js环境依赖配置

Codepen Three.js环境依赖配置 前言 如果想在CodePen环境写Three.js依赖的项目,环境搭建可以参考该Codepen项目: Chill the lion 详细 打开设置可以看到以下配置 更多项目参考 1. Chill the Lion Chill the Lion 是一个基于 ThreeJS 制作的 WebGL 示例。它由…

使用MyBatis的动态SQL注解实现实体的CRUD操作

使用MyBatis的动态SQL注解实现实体的CRUD操作 1. 引言2. 准备工作2.1 创建数据表2.2 创建实体类 Book2.3 修改Mapper接口 BookMapper 3. 测试CRUD操作3.1 配置日志3.2 查询操作3.3 新增操作3.4 修改操作3.5 删除操作 4. 与MyBatis Plus的对比5. 动态SQL注解的适用场景5.1 动态查…

AcWing算法基础课笔记——质数

质数 质数&#xff1a;在大于1的整数中&#xff0c;如果只包含1和它本身这两个约数&#xff0c;就被称之为质数 &#xff08;1&#xff09;质数的判定——试除法 bool is_prime(int n) {if (n < 2) return false;for(int i 2; i < n / i; i ) {if(n % i 0) return …

API低代码平台介绍6-数据库记录删除功能

数据库记录删除功能 在前续文章中我们介绍了如何插入和修改数据库记录&#xff0c;本篇文章会沿用之前的测试数据&#xff0c;介绍如何使用ADI平台定义一个删除目标数据库记录的接口&#xff0c;包括 单主键单表删除、复合主键单表删除、多表删除&#xff08;整合前两者&#x…

JS 【详解】树的遍历(含深度优先遍历和广度优先遍历的算法实现)

用 js 描述树 let tree [{label:a,children:[{label:b,children:[{label:d},{label:e}]},{label:c,children:[{label:f}]}]} ]使用数组是因为树的节点有顺序 深度优先遍历 从根节点出发&#xff0c;优先遍历最深的节点 遍历顺序为 abdecf function DFS(tree) {tree.forEach(…

揭示SOCKS5代理服务器列表的重要性

在复杂的网络安全领域中&#xff0c;SOCKS5代理在保护在线活动方面发挥着关键作用。本文深入探讨了SOCKS5代理服务器列表的细节&#xff0c;探讨了它们的应用、优势以及在增强在线安全和隐私方面不可或缺的功能。 一、理解SOCKS5代理服务器列表 作为在客户端和服务器之间进行通…

QListWidget、QMenu、Action、customContextMenuRequested

QListWidget的初始化、清空、Append添加、Insert添加、删除item QListWidget的事件的使用 QToolBox的使用&#xff0c;每个Page可以添加其他控件 QToolBar使用代码添加QMenu,QMenu添加3个Action QToolButton绑定Action 布局 其中 QSplitter比较特殊&#xff0c; 允许在水平或垂…

实现锚点链接点击tab跳转到指定位置 并且滚动鼠标顶部锚点的样式也跟随变化

实现效果如下 不管是点击还是 滚动鼠标 顶部的样式也会跟随变化 点击会跳转到指定的位置 通过IntersectionObserver 监听是否可见 下面代码可以直接执行到vue的文件 <template><div><ul class"nav"><li v-for"tab in tabs" :key…

【MYSQL】解决数据库Too many connections

Linux登录mysql mysql -u root -p 查看 mysql 服务器中的活动进程数量 mysql> select count(*) from information_schema.processlist;---------- | count(*) | ---------- | 296 | ---------- 1 row in set (0.00 sec)查看 mysql 数据库中当前活动连接的客户端 IP 地址…

Nvidia Isaac Sim组装机器人和添加传感器 入门教程 2024(5)

Nvidia Isaac Sim 入门教程 2024 版权信息 Copyright 2023-2024 Herman YeAuromix. All rights reserved.This course and all of its associated content, including but not limited to text, images, videos, and any other materials, are protected by copyright law. …

采购管理系统:反向竞价失败的 6 个常见原因

在当今快节奏和竞争激烈的商业环境中&#xff0c;采购专业人员一直在寻找创新战略来节约成本和简化供应链流程。反向竞价就是其中一种广受欢迎的策略。 反向竞价提供了一种独特的采购方法&#xff0c;允许买家邀请多个供应商参与实时竞标&#xff0c;以争取他们的业务。虽然反…

[Linux内核驱动]模块的加载和卸载

Linux内核模块的加载和卸载 最简单的内核模块&#xff0c;包括内核模块的加载和卸载。 更多详细内容可以查看我的github 运行 make // 加载 insmod hello.ko // 卸载 rmmod hello模块加载函数 Linux内核模块加载函数一般以 __init 标识声明&#xff0c;然后用 module_init(函…

构建个人文件上传服务:Python Flask实现上传和下载完整指南

介绍 在本教程中&#xff0c;我们将学习如何使用Python Flask框架将文件上传到服务器&#xff0c;并使用SQLite数据库来跟踪上传的文件。我们将提供后端代码和一个示例项目的Git链接&#xff0c;以便您可以轻松地跟随本教程。 准备工作 首先&#xff0c;您需要安装Python和F…

太爱这种数据可视化效果,零售行业的都看过来

在当今数字化浪潮下&#xff0c;数据可视化已成为零售行业洞察市场趋势、优化运营决策的关键技术。奥威BI零售数据分析方案凭借其卓越的数据可视化效果&#xff0c;成为零售企业的得力助手。接下来就通过BI节假日分析报表来简单地感受一下。 注&#xff1a;该BI节假日分析报表…

网络安全突发事件应急预案

1.总则 1.1 编制目的 建立健全网络安全突发事件应急组织体系和工作机制&#xff0c;提高网络安全突发事件综合应对能力&#xff0c;确保及时有效地控制、减轻和消除网络安全突发事件造成的社会危害和损失&#xff0c;保证持续稳定运行和数据安全。 1.2 编制依据 …

新版本vue-cli打包之后没有css文件

新版本vue-cli打包之后没有css文件 vueCli配置文档 将css.extract 设置为 true就可以了 module.exports {css: {extract: true} }

chromadb

https://www.trychroma.com/ https://docs.trychroma.com/getting-started chroma 向量数据库使用教程 ChromaDB python 使用教程及记录 向量数据库检索原理 向量数据库FAISS/Chromadb/ES/milvus简单概述

adb指令切换cpu工作状态至性能模式

adb 指令 adb root adb wait-for-device adb remount adb wait-for-device adb shell "setprop persist.sys.enable.hypnus 0" adb shell "rmmod hypnus" adb shell "cat /sys/devices/system/cpu/cpu*/online" adb shell stop mpdecision adb …

oracle-定时器(job)

--1分钟运行一次定时任务。sysdate为了定时任务即可生效。 DECLARE JOB NUMBER; BEGIN DBMS_JOB.SUBMIT(JOB,P_HJZ_HJZ_PJ_DDYTKAPB_INIT_JOB;,SYSDATE,sysdate1/24/60); COMMIT; END; / select * from user_jobs; --删除 begin DBMS_JOB.broken (462, false); DBM…

java读取大文件报错

报错如下&#xff1a; java.io.IOException: Zip bomb detected! The file would exceed the max. ratio of compressed file size to the size of the expanded data. This may indicate that the file is used to inflate memory usage and thus could pose a security risk…