Go语言学习的第三天--上部分(基础用法)
前两天经过不断度娘,与对up主的跟踪学习了解了go的历史,今天开始了go的基础!!
本章主要是go 的注释、变量及常量的梳理
一、注释
不管什么语言都有自己的注释,go也不例外 !!
单行注释 //
多行注释
/**
代码段
*/这二者的用法就不扯了,别的语言都是有的。
但是我要强调一点,在开发过程中良好的注释会让开发者赏心悦目,逻辑清晰,要养成良好注释的习惯
二、变量 驼峰命名
1、变量类型 格式: var name type
/** 格式: var name typevar 声明变量name 变量名type 变量类型*/var name string = "bianliang"var age int = 18fmt.Println(name, age)2、定义多个变量
/**定义多个变量如果没有赋值,每个类型有默认值string默认为空int默认为空*/var (name stringage intaddr string)fmt.Println(name, age, addr)//变量赋值name = "lainxi"age = 18addr = "广西"fmt.Println(name, age, addr)
3、:=短变量
/**通过 := 定义 自动推到 初始化 短变量如果已经通过var 定义过变量在使用 := 打印时会报错已经不是心得变量*/name := "ceshi"age := 18fmt.Println(name, age)fmt.Printf("%T,%T", name, age) //打印变量数据类型 内存地址
4、内存地址
/**内存地址 %p*/var num intnum = 100fmt.Printf("name: %d ,内存地址:%p", num, &num) //&取地址符num = 200fmt.Printf("name: %d ,内存地址:%p", num, &num) //值会改变,内存地址不会改变
5、变量交换
/**变量交换a = 100b = 200a、b值交换其他语言:定义中间量 t = 0t = aa = bb = t*/var a int = 100var b int = 200b, a = a, b //go中两值交换fmt.Println("a=====>", a, " b===>", b)
6、匿名变量
func main(){/**匿名变量*///a, b := test()//fmt.Println("a=====>", a, " b===>", b)a, _ := test() // 只想接受一个值fmt.Println("a=====>", a)} func test() (int, int) { //定义test函数return 100, 200
}
7、变量作用域
/**变量的作用域局部 在某一个函数中定义的 变量全局 函数外定义的变量名可以重复使用但当打印的时候就近原则*/三、常量 通过const 进行定义
1、常量类型 格式: const name type
/**定义格式: const name typeconst 声明常量name 常量名type 常量类型 (可省略)
*/const name string = "ceshi" //显示定义
const name2 = "lalal" //隐式定义 将字段类型隐藏起来
fmt.Println(name, name2) //打印2、多常量定义
const a, b, c = 1, 2, 3 //多常量定义 逗号隔开
fmt.Println(a, b, c)打印结果:

3、特殊常量ioty 常量计数器 iota 在const关键词出现时将被重置为0
const (a = iotab = iotacdefg = 100hi = iota)fmt.Println(a, b, c, d, e, f, g, h, i)大家猜一猜打印出来是是什么????动手试试
一定要动手试试 ,好记性不如烂笔头!!!熟能生巧 一定要多练习
相关文章:
Go语言学习的第三天--上部分(基础用法)
前两天经过不断度娘,与对up主的跟踪学习了解了go的历史,今天开始了go的基础!!本章主要是go 的注释、变量及常量的梳理一、注释不管什么语言都有自己的注释,go也不例外 !!单行注释 // 多行注释 …...
linux面试基础篇
题目目录1.简述DNS分离解析的工作原理,关键配置2.apache有几种工作模式,分别简述两种工作模式及其优缺点?3.写出172.0.0.38/27 的网络id与广播地址4.写出下列服务使用的传输层协议(TCP/UDP)及默认端口5.在局域网想获得…...
黑马程序员提高变成
这里写目录标题函数模板1.2.2 函数模板注意事项1.2.3 函数模板案例调用规则类模板与函数模板区别类模板与继承类模板成员函数类外实现#pragma once类模板与友元案例重新定义【】stl2.2 STL基本概念STL六大组件容器算法迭代器初识vectorvector容器嵌套容器string容器string赋值操…...
MySQL5种索引类型
MySQL的类型主要有五种:主键索引、唯一索引、普通索引、空间索引、全文索引 有表: CREATE TABLE t1 ( id bigint unsigned NOT NULL AUTO_INCREMENT, u1 int unsigned NOT NULL DEFAULT 0, u2 int unsigned NOT NULL DEFAULT 0, u3 varchar(20) NOT NU…...
uniapp封装缓存方法,支持类似cookie具有过期时间
1、定义CacheManage类,有set和get方法 class CacheManage {set() {},get() {} }set用来设置缓存,get用来获取缓存 2、完善set业务逻辑 大概逻辑如下: 1、将接收params参数,包含key、data、unit、time key 缓存字段,…...
Jfrog 搭建本地maven仓库以及上传Android库
Jfrog 下载 安装包下载地址:Download Artifactory OSS | JFrog 如果是想下载之前的版本,可以点击上面的Get code source ,如果是最新版本,直接点下面的下载就好。下面以Linux安装为例。 Jfrog安装 对于Linux而言,其实…...
日报周报月报工作总结生成器【智能文案生成器】
日报周报月报工作总结生成器【智能文案生成器】 天天写日报,我真的快奔溃了! 摸了一天鱼,下班还要写日报; 划了一周的水,周末还要写周报; 啊啊啊啊… 在职场上,尤其是互联网公司里,…...
linux日志管理工具logrotate配置
linux日志管理工具logrotate配置logrotate介绍logrotate配置讲解主配置文件解释(/etc/logrotate.conf)logrotete 命令参数添加配置以添加一个nginx配置为例强制启动配置logrotate介绍 logrotate是centos自带工具,其他操作系统可能需要自行安装。logrotate用来进行日…...
[ C++ ] 设计模式——单例模式
目录 1.设计模式: 2.单例模式 饿汉模式 懒汉模式 饿汉模式和懒汉模式的优缺点 1.设计模式: 设计模式(Design Pattern)是一套被反复使用,多数人只晓得,经过分类的,代码设计经验的总结。为什么会产生设计模式这样的…...
HACKTHEBOX——Help
nmap可以看到对外开放了22,80,3000端口可以看到80端口和3000端口都运行着http服务,先从web着手切入TCP/80访问web提示无法连接help.htb,在/etc/hosts中写入IP与域名的映射打开只是一个apache default页面,没什么好看的使用gobuster扫描网站目…...
Qt广告机客户端(下位机)
目录功能结构adClient.promain.cppadclient.h 客户端adclient.cpp 客户端addate.h 时间处理addate.cpp 时间处理adsocket.h 客户端Socket处理adsocket.cpp 客户端Socket处理weather.h 天气信息处理weather.cpp 天气信息处理rollmassege.h 滚动信息处理rollmassege.cpp 滚动信息…...
JavaScript新手学习手册-基础代码(二)
与上篇博客相接 一:函数: 案例:通过函数实现绝对值的输出 方法一: function absoluate(x){if(x>0){return x;}else{ return -x;}} 在控制台调用函数 方法二: var demo1 function(x){if(x>0){return x;}els…...
wireshark 抓包使用记录
文章目录前言wireshark 抓包使用记录一、wireshark的基础使用二、wireshark的常用功能1、开始混杂模式2、过滤器操作2.1、抓包过滤器2.2、显示过滤器3、时间格式显示4、统计流量图5、标记显示6、导出数据包7、增加、隐藏、删除显示列前言 如果您觉得有用的话,记得给…...
pd dataframe 读取处理 有合并单元格的excel方式
from pathlib import Path import openpyxl 拆分所有的合并单元格,并赋予合并之前的值。 由于openpyxl并没有提供拆分并填充的方法,所以使用该方法进行完成 def unmerge_and_fill_cells(worksheet): all_merged_cell_ranges list( worksheet.merged_…...
七,iperf3源代码分析:状态机及状态转换过程--->运行正向TCP单向测试时的服务端代码
本文目录一、测试用命令二、iperf3状态机中各个状态解析三、iperf3状态机迁移分析K-初始化测试对象(NA--->初始化状态):A-服务器端测试对象开始运行(初始化状态--->IPERF_START状态):B-建立控制连接(初始化状态-…...
【网络篇】----- 传输层协议 之 UDP(协议格式,协议特性和编程影响三方面详细分析)
文章目录 前言1、UDP协议2、协议格式 2.1、协议格式模型2.2、字段分析3.协议特性4.编程影响总结前言 1、UDP协议 UDP协议,又名数据报传输协议,是传输层协议之一!!! 在TCP/IP五层模型中,在传输层中ÿ…...
【基于STM32的多功能台灯控制】
基于STM32的多功能台灯控制 在之前一篇博文中已出过智能台灯相关的介绍,在这里对之前的模块以及功能上进行了优化和功能上的改进,需源码或实物可私【创作不易-拒绝白嫖】 功能说明 1、按键模式多功能台灯在设计上使用了4个按键分别做为 按键1模式的切换…...
Mac 编译x264源码No working C compiler found 错误
在mac上编译x264源码时,报错No working C compiler found 。网上找了一圈方案也无法解决 只能硬着头皮看configure这个脚本,通过一步一步抽丝拨茧终于是在mac上可以编译了。 这里只当记录一下,为后续同学遇到同样问题提供一个辅助解决方案。…...
如何有效地降低软件开发风险?
1、科学分析风险 高风险自动预警 一般对风险进行科学分析,主要从3个维度进行划分:影响的严重性、发生的可能性、产生的影响性。 根据风险对项目的影响程度,从3个维度将其划分5个等级:很低、比较低、中等、比较高、很高。这样我们能…...
【python】剑指offer代码大集合2
本文是【python】剑指offer代码大集合的姊妹篇,用于完善标识todo的代码! 刷题网站:https://leetcode.cn/problem-list/xb9nqhhg/ 剑指 Offer 14- I. 剪绳子 https://leetcode.cn/problems/jian-sheng-zi-lcof/ todo 剑指 Offer 14- II. 剪绳子 II https://leetcode.cn/pr…...
Qt项目里用dxflib解析CAD图纸,遇到带圆弧的多段线(LWPOLYLINE)怎么画?
Qt项目中利用dxflib解析CAD图纸:带圆弧多段线(LWPOLYLINE)的精确绘制方案 在工业设计、建筑图纸和机械制图领域,DXF文件作为CAD数据交换的标准格式,其精确解析一直是开发者的核心挑战。当使用Qt框架结合dxflib库进行CAD可视化时,优…...
3个场景解密LeagueAkari:如何让英雄联盟游戏效率提升300%
3个场景解密LeagueAkari:如何让英雄联盟游戏效率提升300% 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit LeagueAkari…...
VCAM虚拟摄像头:3大创新功能解锁安卓摄像头的无限应用场景
VCAM虚拟摄像头:3大创新功能解锁安卓摄像头的无限应用场景 【免费下载链接】com.example.vcam 虚拟摄像头 virtual camera 项目地址: https://gitcode.com/gh_mirrors/co/com.example.vcam VCAM虚拟摄像头是一款基于Xposed框架的安卓虚拟相机解决方案&#x…...
Proteus8.9 安装避坑指南:从下载到稳定运行的完整流程
1. 为什么选择Proteus8.9? Proteus作为电子设计自动化(EDA)领域的经典工具,在单片机仿真和电路设计方面一直备受工程师和学生青睐。8.9版本之所以成为众多用户的首选,主要在于它对新型单片机的支持更加完善。比如STC15…...
使用xrdp实现Windows远程桌面无缝连接WSL2中的Ubuntu24.04
1. 为什么需要远程桌面连接WSL2? 很多开发者习惯在Windows系统上使用WSL2运行Ubuntu进行开发工作,但默认情况下WSL2只提供命令行界面。虽然大多数开发任务可以通过命令行完成,但有些场景下图形界面会更方便: 运行需要GUI的应用程…...
不止于步骤:用SPM预处理fMRI数据时,那些没人告诉你的‘隐藏’技巧与效率工具
不止于步骤:用SPM预处理fMRI数据时,那些没人告诉你的‘隐藏’技巧与效率工具 当你面对上百个被试的fMRI数据时,是否曾为重复点击SPM的GUI界面而感到疲惫?是否担心手动操作带来的潜在错误?本文将带你超越基础教程&#…...
告别AI瞎编代码:手把手教你用Context7 MCP给Claude/Cursor装上“实时文档库”
告别AI幻觉代码:Context7 MCP与主流开发工具深度集成实战指南 每次看到AI助手生成那些无法运行的过时代码时,你是否也感到沮丧?作为深度依赖AI编程助手的开发者,我们都经历过这样的困境:花费数小时调试一段本不该出现的…...
Unity Figma Bridge终极指南:3步实现设计到游戏的完美转换 [特殊字符]
Unity Figma Bridge终极指南:3步实现设计到游戏的完美转换 🚀 【免费下载链接】UnityFigmaBridge Easily bring your Figma Documents, Components, Assets and Prototypes to Unity 项目地址: https://gitcode.com/gh_mirrors/un/UnityFigmaBridge …...
【实战指南】Spirent TCL 并发与新建连接测试全流程解析
1. Spirent TCL测试基础与环境搭建 第一次接触Spirent TestCenter时,我也被它强大的功能和复杂的界面吓到过。但实际用下来发现,只要掌握几个核心模块,就能完成大多数性能测试任务。这里先带大家快速搭建测试环境,为后续的并发和新…...
5大突破性功能:彻底革新StardewMods体验的核心增强工具
5大突破性功能:彻底革新StardewMods体验的核心增强工具 【免费下载链接】StardewMods Mods for Stardew Valley using SMAPI. 项目地址: https://gitcode.com/gh_mirrors/st/StardewMods 在星露谷物语的世界里,每位农场主都曾面临过重复劳作的枯燥…...
