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

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)

大家猜一猜打印出来是是什么????动手试试

一定要动手试试 ,好记性不如烂笔头!!!熟能生巧 一定要多练习

http://www.lryc.cn/news/33402.html

相关文章:

  • linux面试基础篇
  • 黑马程序员提高变成
  • MySQL5种索引类型
  • uniapp封装缓存方法,支持类似cookie具有过期时间
  • Jfrog 搭建本地maven仓库以及上传Android库
  • 日报周报月报工作总结生成器【智能文案生成器】
  • linux日志管理工具logrotate配置
  • [ C++ ] 设计模式——单例模式
  • HACKTHEBOX——Help
  • Qt广告机客户端(下位机)
  • JavaScript新手学习手册-基础代码(二)
  • wireshark 抓包使用记录
  • pd dataframe 读取处理 有合并单元格的excel方式
  • 七,iperf3源代码分析:状态机及状态转换过程--->运行正向TCP单向测试时的服务端代码
  • 【网络篇】----- 传输层协议 之 UDP(协议格式,协议特性和编程影响三方面详细分析)
  • 【基于STM32的多功能台灯控制】
  • Mac 编译x264源码No working C compiler found 错误
  • 如何有效地降低软件开发风险?
  • 【python】剑指offer代码大集合2
  • 经纬恒润再传佳讯,斩获大奖
  • 说说转义字符 “\”
  • 2023高质量设计竞赛汇总,想证明自己实力的快来
  • MongoDB与MySQL有区别吗?用一个表格跟你说明
  • ElasticSearch - 分布式文档索引、搜索、更新和删除文档的过程
  • Python之re库用法细讲
  • MATLAB | 如何绘制github同款日历热力图
  • 认识适配器模式
  • JavaSe第6次笔记
  • 单例设计模式
  • 第七章 opengl之光照(基础光照)