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

【Go语言】Golang保姆级入门教程 Go初学者chapter2

【Go语言】变量

VSCode插件

setting的首选项

一个程序就是一个世界 变量是程序的基本组成单位

变量的使用步骤

image-20230726152840172

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zuxG8imp-1691479164956)(https://cdn.staticaly.com/gh/hudiework/img@main/image-20230726152905139.png)]

变量使用的注意事项

  1. 变量表示内存中的一个存储区

    Golang变量使用的三种方式
    1) 指定变量类型,申明后如果不赋值,使用默认值
    2)根据值自行判断变量类型(类型推导)
    3)省略var := 左侧的变量不应该是声明过得 否则会导致编译错误
    

注意: := 这种方式仅支持局部变量

var太麻烦了 var( XXX)全局变量

  1. 该区域的数据值可以在同一类型范围内不断变化
  2. 变量同一作用域不能重名
  3. 变量 = 变量名 + 值 + 数据类型
  4. Golang变量无初值 会有默认值

字符串做加法运算 是拼接

image-20230726162335576

整数的使用细节

fmt.Printf

image-20230727151305772

image-20230727151443656

Golang整型变量保小不保大的原则 保证程序正确运行下 尽量使用占用空间小的数据类型

小数浮点型

image-20230727152801339

image-20230727152835113

尾数部分有可能丢失 这样的话会造成精度损失

image-20230727153300566

Golang的浮点型默认声明为float64 类型

image-20230727154332878

科学计数法小写的e 和大写的E是相同的一种表示 通常情况下应该使用float64 因为它比float32 更精确

开发中常用的数据类型是float64

字符类型

byte 0-255 字符串就是遗传固定长度的字符连接起来的字符序列

Golang中反引号 可以输出 一长串变量

image-20230730143914456

如果一个字符串特别长的话 可以直接将加号 放在一句话的后面 下一行在加字符串

零值 默认是false “”

image-20230803131807262

image-20230803131831523

数据转换

Go和java\C不同 因为Go在不同的类型需要显示转换

image-20230803133544694

不管是低精度 朝向高精度 还是高精度朝向低精度 都是一样需要数据转换的 也就是说 Go语言里面全部都是强制转换

注意: 被转换的变量修改之后 转换的是变量的值 并不是原来的对象 可以通过%T 输出原来对象的类型确认只更改变量的值

转换的时候溢出的话 输出的值按照截取的二进制处理

超越变量本身的编译范围 会直接报错 但是如果未超过变量本身的编译范围 编译不报错 但是运行的话是溢出的

如果没用到import里面的包 那么可以使用_ 忽略掉他

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bJgcWkd4-1691479164958)(https://cdn.staticaly.com/gh/hudiework/img@main/image-20230803145123188.png)]

image-20230804115533139

基本数据类型 转换成字符串是直接输出类型格式变为%q 即可

image-20230805093236779

String 转换到基本类型:

Go语言在转换的时候都会使用函数

使用 strconv.ParseInt等方法

image-20230805093409239

image-20230805093813228

image-20230805094333062

image-20230808151022148

image-20230808151403281

image-20230808151544956

相关文章:

【Go语言】Golang保姆级入门教程 Go初学者chapter2

【Go语言】变量 VSCode插件 setting的首选项 一个程序就是一个世界 变量是程序的基本组成单位 变量的使用步骤 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zuxG8imp-1691479164956)(https://cdn.staticaly.com/gh/hudiework/imgmain/image-20…...

关于ETL的两种架构(ETL架构和ELT架构) qt

ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库&#xf…...

【Linux】进程间通信——管道

目录 写在前面的话 什么是进程间通信 为什么要进行进程间通信 进程间通信的本质理解 进程间通信的方式 管道 System V IPC POSIX IPC 管道 什么是管道 匿名管道 什么是匿名管道 匿名管道通信的原理 pipe()的使用 匿名管道通信的特点 拓展代码 命名管道 什么是命…...

Element-plus中tooltip 提示框修改宽度——解决方案

tooltip 提示框修改宽度方法&#xff1a; 在element中&#xff0c;想要设置表格的内容&#xff0c;超出部分隐藏&#xff0c;鼠标悬浮提示 可以在el-table 上添加show-overflow-tooltip属性 同时可以通过tooltip-options配置提示信息 如下图代码 <el-tableshow-overflo…...

java实现当前系统时间格式化

import java.text.SimpleDateFormat; import java.util.Date;public class DateTest {public static void main(String[] args) {Date date new Date();System.out.println("当前系统时间&#xff1a;" date);SimpleDateFormat simpleDateFormat new SimpleDateFo…...

篇十一:享元模式:共享细粒度对象

篇十一&#xff1a;“享元模式&#xff1a;共享细粒度对象” 设计模式是软件开发中的重要工具&#xff0c;享元模式&#xff08;Flyweight Pattern&#xff09;是结构型设计模式的一种。享元模式旨在通过共享细粒度的对象&#xff0c;减少内存消耗和提高性能。在设计模式学习中…...

Dev控件 Gridcontrol,gridview 实现多选功能

在网上看了好多实现dev控件GridControl多选功能的方法&#xff0c;都很麻烦&#xff0c;其实GridControl有一个自带的实现多选功能的控件&#xff0c;很简单。 实现效果如下 无需代码代码&#xff0c;使用GridControl中自带的多选功能&#xff0c;在界面直接设置即可 1.找到要…...

内网穿透:如何通过公网访问本地Web服务器?

文章目录 前言1. 首先安装PHPStudy2.下载一个开源的网页文件3. 选择“创建网站”并将网页内容指向下载好的开源网页文件4. 打开本地网页5. 打开本地cpolar客户端6. 保存隧道设置 生成数据隧道 前言 随着科技进步和时代发展&#xff0c;计算机及互联网已经深深融入我们的生活和…...

在qemu中挂载镜像文件

将镜像文件作为交换分区 创建镜像文件&#xff1a; dd if/dev/zero ofswap.img bs512 count131072 qemu-system-arm -nographic -M vexpress-a9 -m 64M -kernel arch/arm/boot/zImage -append "rdinit/linuxrc consolettyAMA0 loglevel8" -dtb arch/arm/boot/dts/…...

报错注入(主键重复)攻击原理

基本原理 利用数据表中主键不能重复的特点&#xff0c;通过构造重复的主键&#xff0c;使得数据库报错&#xff0c;并将报错结果返回到前端。 SQL说明函数 以pet数据表为例进行说明 rond(): 返回[0,1)区间内的任意浮点数。 count(): 返回每个组的列行数。 如&#xff0…...

Golang基础教程

Golang基础教程 golang简介安装golanggolang开发工具go常用命令golang开发 vscode快捷键如何编写golang代码golang标识符、关键字、命名规则golang变量go语言常量go语言数据类型go语言布尔类型go语言数字类型golang字符串golang格式化输出golang运算符go语言中的流程控制golan…...

ppt压缩文件怎么压缩最小?文件压缩技巧分享

在日常的工作和学习中&#xff0c;难免会遇到PPT太大&#xff0c;需要将其压缩变小的情况&#xff0c;但很多朋友还不知道怎么压缩PPT文件&#xff0c;下面就给大家分享几个简单的方法&#xff0c;分分钟缩小过大的PPT文件。 一、PowerPoint PowerPoint就是微软公司的演示文稿…...

实例033 制作闪烁的窗体

实例说明 Windows系统中&#xff0c;当程序在后台运行时&#xff0c;如果某个窗口的提示信息需要用户浏览&#xff0c;该窗口就会不停的闪烁&#xff0c;这样就会吸引用户的注意。同样&#xff0c;如果在自己的程序中使某个窗口不停的闪烁就会吸引用户的注意。本例设计了一个闪…...

【JavaEE进阶】Spring创建与使用

文章目录 一. 创建 Spring 项目1.1 创建一个Maven项目1.2 添加Spring依赖1.4. 创建一个启动类 二. 将 Bean 对象存放至 Spring 容器中三. 从 Spring 容器中读取到 Bean1. 得到Spring对象2. 通过Spring 对象getBean方法获取到 Bean对象【DI操作】 一. 创建 Spring 项目 接下来使…...

PHP8的循环控制语句-PHP8知识详解

我们在上一节讲的是条件控制语句&#xff0c;本节课程我们讲解循环控制语句。循环控制语句中&#xff0c;主要有for循环、while循环、do...while循环和foreach循环。 在编写代码时&#xff0c;经常需要反复运行同一代码块。我们可以使用循环来执行这样的任务&#xff0c;而不是…...

第八次作业

一&#xff0c;.什么是数据认证&#xff0c;有什么作用&#xff0c;有哪些实现的技术手段? 数据认证是指保证数据的真实性、完整性和可信度&#xff0c;以确保数据不被篡改或伪造。其作用包括但不限于&#xff1a; 保护关键数据不被恶意篡改或损坏 提供数据来源的可靠性和安全…...

LeetCode //C - 290. Word Pattern

290. Word Pattern Given a pattern and a string s, find if s follows the same pattern. Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in s. Example 1: Input: pattern “abba”, s “dog c…...

[保研/考研机试] 括号匹配问题 C++实现

题目描述&#xff1a; 在某个字符串(长度不超过100)中有左括号、右括号和大小写字母&#xff1b;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序&#xff0c;找到无法匹配的左括号和右括号&#xff0c;输出原来的字符串&am…...

springBoot集成caffeine,自定义缓存配置 CacheManager

目录 springboot集成caffeine Maven依赖 配置信息&#xff1a;properties文件 config配置 使用案例 Caffeine定制化配置多个cachemanager springboot集成redis并且定制化配置cachemanager springboot集成caffeine Caffeine是一种基于服务器内存的缓存库。它将数据存储在…...

【瑞吉外卖】Git部分学习

Git简介 Git是一个分布式版本控制工具&#xff0c;通常用来对软件开发过程中的源代码文件进行管理。通过Git仓库来存储和管理这些文件&#xff0c;Git仓库分为两种&#xff1a; 本地仓库&#xff1a;开发人员自己电脑上的Git仓库 远程仓库&#xff1a;远程服务器上的Git仓库…...

体验Taotoken全球节点带来的低延迟API调用体感

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 体验Taotoken全球节点带来的低延迟API调用体感 对于需要频繁调用大模型API的开发者而言&#xff0c;除了模型的智能程度&#xff0…...

冲压送料机远程监控运维管理系统方案

某设备制造商&#xff0c;常年向汽车零部件、电子元器件等行业客户供应各类冲压送料设备&#xff0c;随着市场拓展&#xff0c;其售后运维面临诸多突出问题。一方面&#xff0c;设备分布地域广泛&#xff0c;客户上报故障后&#xff0c;售后服务往往响应滞后且运维成本居高不下…...

LuaJIT字节码逆向难题:LJD如何帮你恢复可读源码

LuaJIT字节码逆向难题&#xff1a;LJD如何帮你恢复可读源码 【免费下载链接】luajit-decompiler https://gitlab.com/znixian/luajit-decompiler 项目地址: https://gitcode.com/gh_mirrors/lu/luajit-decompiler 面对编译后的LuaJIT字节码文件&#xff0c;你是否曾困惑…...

地质建模革命:如何使用GemPy在10分钟内构建专业3D地质模型 [特殊字符]

地质建模革命&#xff1a;如何使用GemPy在10分钟内构建专业3D地质模型 &#x1f680; 【免费下载链接】gempy GemPy is an open-source, Python-based 3-D structural geological modeling software, which allows the implicit (i.e. automatic) creation of complex geologic…...

长期使用 Taotoken 后对账单追溯与成本分析的实际体验

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 长期使用 Taotoken 后对账单追溯与成本分析的实际体验 在项目开发中引入大模型能力后&#xff0c;成本控制与资源优化是团队负责人…...

【Linux内核模块】模块的编译:从代码到可加载模块的 “变身术“

一、内核模块编译的特殊性&#xff1a;为什么不能直接用 gcc&#xff1f;普通 C 程序编译很简单&#xff0c;gcc hello.c -o hello就行&#xff0c;但内核模块可不行。这就像做面包和做蛋糕的区别 —— 虽然都是面粉做的&#xff0c;但烤箱温度、配料比例完全不同。1.1 内核模块…...

Vulhub 中的 Cacti-CVE-2025-24367

0x00 前言先看结果吧&#xff0c;复现是成功了&#xff0c;但是没拿到shell&#xff0c;和我想的不一样。漏洞原理&#xff1a;Cacti是一款利用RRDTool数据存储和图形化功能的完整网络图形化解决方案。在Cacti 1.2.28及以前版本中存在一个命令注入漏洞&#xff0c;该漏洞允许已…...

终极指南:使用OpenHTMLtoPDF快速构建专业PDF生成器

终极指南&#xff1a;使用OpenHTMLtoPDF快速构建专业PDF生成器 【免费下载链接】openhtmltopdf An HTML to PDF library for the JVM. Based on Flying Saucer and Apache PDF-BOX 2. With SVG image support. Now also with accessible PDF support (WCAG, Section 508, PDF/U…...

终极指南:如何在Mac上免费创建Windows启动盘(3步教程)

终极指南&#xff1a;如何在Mac上免费创建Windows启动盘&#xff08;3步教程&#xff09; 【免费下载链接】windiskwriter &#x1f5a5; Windows Bootable USB creator for macOS. &#x1f6e0; Patches Windows 11 to bypass TPM and Secure Boot requirements. &#x1f47…...

掌握AMD Ryzen硬件调试:SMUDebugTool从入门到精通的完整指南

掌握AMD Ryzen硬件调试&#xff1a;SMUDebugTool从入门到精通的完整指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: http…...