恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Golang 学习笔记--Golang介绍

  • 首页
  • 资讯中心
  • /
  • Golang 学习笔记--Golang介绍

相关资讯

5V升压9V 2A 大电流内置MOS 2026/8/26 20:32:37
免费降低ai率从哪下手?先检测定位再改写,降aigc省钱路线 2026/8/26 20:32:37
如何为 HpBandSter 挑选 Budgets?多保真度超参数优化预算设置最佳实践 2026/8/26 20:27:36

最新资讯

蓝桥杯DS18B20实战:STM32G4单总线时序精控与寄生电源设计
Android ServiceManager启动源码解析:Binder通信总机与系统服务注册机制
电压故障注入实操:从原理到绕过RPi安全启动的完整指南
Multi-Agent工程闭环:让AI生成的代码安全进入生产环境
MySQL容器化部署实战:优势、挑战与生产级配置指南
数位DP算法精解:从二进制问题到区间数字统计实战

今日推荐

Python random 模块常用函数详解:从入门到实战
Hermes接入团队协作后,我推翻了三个效率假设
免费AI大模型调教指南:打造专属网文写作助手

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

Golang 学习笔记--Golang介绍

发布时间:2026/8/26 20:32:37
Golang 学习笔记--Golang介绍 Golang 笔记标志金花鼠gordonGolang 笔记目录Golang 笔记Google为什么要创作Go语言golang执行流程分析golang开发注意事项golang转义字符golang中常见的问题以及解决方法golang中的注释golang的规范以及代码风格golang官方编程指南golang变量golang变量数据类型golang整数基本数据类型介绍golang整型使用细节golang浮点类型golang整型使用细节golang字符类型golang字符使用细节golang布尔类型 boolgolang字符串类型 stringgolang基本数据类型默认值零值golang基本数据类型转换golang指针golang值类型和引用类型golang标识符的命名规范golang预定义标识符36个Google为什么要创作Go语言1)计算机硬件技术跟新频繁2)软件系统复杂度高、维护成本高1、风格不统一2、计算能力不够3、不能处理大并发3)兼顾开发速度以及开发速度golang执行流程分析1)先对源码进行编译在执行go buildXXX.go -- XXX.exe --执行2)源码直接运行go runXXX.go -- 执行golang开发注意事项1)源码文件以.go为扩展名2)golang程序入口是main()3)golang是严格区分大小写4)Go方法是由一条一条语句实现的每个语句在结束后不需要加分号5)Go编译器是一行一行编译的不能将多条语句写在一行6)Go语言定义的编译或者import的包如果没有使用到编译不能通过7)大括号都是成对出现的golang转义字符1)\t 制表符2)\n 换行3)\\ 斜杠4) 一个5)\r 回车golang中常见的问题以及解决方法1)找不到文件–源文件名不存在或者写错或者当前路径错误2)语法错误–尝试去看懂编译器报错信息golang中的注释目的提高代码可维护性行注释//块注释/**/golang的规范以及代码风格1)推荐使用行注释来注释整个方法和语句2)有正确的缩进和空白3)运算符的两边各加一个空格golang官方编程指南Golang官方网站https://golang.org/#golang变量变量是程序的基本组成单位变量相当于内存中一个数据存储空间1)声明变量2)变量赋值3)使用变量packagemainimportfmtfuncmain(){//声明变量variint//变量赋值i10//使用变量fmt.Printf(%d,i)}注意事项1)声明变量后不赋值使用默认值2)根据值自行判断变量类型(类型推导)3)省略var使用:推导4)多变量声明packagemainimportfmtfuncmain(){//声明变量后不赋值使用默认值variint//根据值自行判断变量类型(类型推导)varf10.01//省略var使用:推导str:string//多变量声明vara,b,c,d,eint}golang变量数据类型golang整数基本数据类型介绍有符号类型所占空间取值范围int81字节-2^7 ~ 2^7-1int162字节-2^15 ~ 2^15-1int324字节-2^31 ~ 2^31-1int648字节-2^63 ~ 2^63-1无符号类型所占空间取值范围uint81字节0 ~ 2^8-1uint162字节0 ~ 2^16-1uint324字节0 ~ 2^32-1uint648字节0 ~ 2^64-1golang整型使用细节1)golang整数分类 有符号/无符号(int/uint)在32位的机器上面大小为4字节在64位的机器上面大小位8字节2)整型默认声明为int型3)查看数据所占字节大小//数据类型查看//输出为intvari100fmt.Printf(%T,i)//查看数据所占字节大小//64位机器输出8 32位机器输出4fmt.Printf(%T,unsafe.Sizeof(i))golang浮点类型浮点类型就是用于存放小数的varf_32float3289.124varf_64float64888889.12456golang整型使用细节1)golang浮点类型有固定的长度不受操作系统影响2)golang的浮点类型默认是float64//数据类型查看//输出为flost64varf10.1fmt.Printf(%T,f)golang字符类型1)Golang中没有专门的字符类型如果要存储单个字符(字母)一般使用byte来保存。2)字符数组就是一串固定长度的字符连接起来的字符序列。对于传统的字符串是由字符组成的而Go的字符串不同它是由单个字节连接起来的。3)如果我们保存的字符在ASCII表的,比如[0-1,a-z,A-Z…]直接可以保存到byte4)如果我们保存的字符对应码值大于255如汉字这时我们可以考虑使用int类型保存5)如果我们需要按照字符的方式输出这时我们需要格式化输出即fmt.Printf(“%c”,c1)golang字符使用细节1)字符常量是用单引号(‘’)括起来的单个字符。例如var c1 byte ‘a’ var c2 int ‘中’ var c3 byte ‘9’2)Go中允许使用转义字符’\’来将其后的字符转变为特殊字符型常量。例如var c3 char ‘\n’//\n’表示换行符3)Go语言的字符使用UTF-8编码英文字母-1个字节汉字-3个字节。4)在Go中字符的本质是一个整数直接输出时是该字符对应的UTF-8编码的码值。5)可以直接给某个变量赋一个数字然后按格式化输出时%c会输出该数字对应的unicode字符。6)字符类型是可以进行运算的相当于一个整数因为它都对应有Unicode码。7)字符型存储到计算机中需要将字符对应的码值整数找出来存储字符—对应码值----二进制–存储读取二进制----码值----字符–读取8)字符和码值的对应关系是通过字符编码表决定的。9)Go语言的编码都统一成了utf-8。非常的方便很统一再也没有编码乱码的困扰了。golang布尔类型 bool1)布尔类型也叫bool类型bool类型数据只允许取值true和false。不可以0或非0的整数替代false和true这点和C语言不同。2)bool类型占1个字节。3)bool类型适于逻辑运算一般用于程序流程控制。golang字符串类型 string字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。Go语言的字符串的字节使用UTF-8编码标识Unicode文本。1)Go语言的字符串的字节使用UTF-8编码标识Unicode文本这样Golang统一使用UTF-8编码,中文乱码问题不会再产生困扰。2)字符串一旦赋值了字符串就不能修改了在Go中字符串是不可变的。var str “hello” str[0] “a”//会报错3)字符串的两种表示形式1)双引号,会识别转义字符如str : abc\nabc输出的时候会换行。2)反引号以字符串的原生形式输出包括换行和特殊字符可以实现防止攻击、输出源代码等效果:str: abc def ghi\nk 4)字符串拼接str:helloworldstrhahagolang基本数据类型默认值零值在go中数据类型都有一个默认值当程序员没有赋值时就会保留默认值在go中默认值又叫零值。数据类型默认值整型0浮点型0字符串0布尔类型falsegolang基本数据类型转换Golang和java/c不同Go在不同类型的变量之间赋值时需要显式转换即var n1 float32要等于float32(i)而不能直接等于i。也就是说Golang中数据类型不能自动转换。T(v)将值v转换为类型TT:就是数据类型比如int32int64float32等等。v:就是需要转换的变量variint32100varn1float32float32(i)varn2int64n2i20//会报错//n2 int64(i) 20//正确写法1)Go中数据类型的转换可以是从表示范围小–表示范围大也可以范围大—范围小2)被转换的是变量存储的数据(即值)变量本身的数据类型并没有变化3)在转换中比如将int64转成int8【-128—127】编译时不会报错只是转换的结果是按溢出处理和我们希望的结果不一样。因此在转换时需要考虑范围。golang指针1)基本数据类型变量存储的就是值也叫值类型2)获取变量的地址使用取址符3)指针类型指针变量存放的是一个地址这个地址指向的空间才是值4)获取指针类型所指向的值使用解引用符号*golang值类型和引用类型1)值类型基本数据类型 int、float、string 、 数组、struct通常实在栈中分配2)引用类型指针、slice切片、管道chan、interface、都是引用类型变量存储的是一个地址这个地址对应的空间才是指针存储数据内存通常在堆空间上分配当没有任何变量引用这个地址的时候该地址对应的数据空间成为一个垃圾空间由gc回收golang标识符的命名规范1)golang 对各种变量、方法、函数名命名是使用的字符序列成为标识符2)凡是自己可以起名字的地方都叫标识符规则1)由26个字母大小写0-9组成2)数字不能开头3)golang中严格区分大小写4)标识符中不能存在“ ”空格5)单独一个“”是go中的特殊标识符表示空标识符可以代表任何其他的标识符但它本身的是会被忽略左右仅能作为被占位符使用不能作为标识符使用6)不能以系统保留关键字作为标识符Go 共有 25 个保留关键字各有其作用不能用作标识符。Go 的 25 个关键字按照作用可以分为 3 类分别为包管理、程序实体声明与定义与程序流程控制。包管理2个importpackage程序实体声明与定义8个chanconstfuncinterfacemapstructtypevar程序流程控制15个breakcasecontinuedefaultdeferelsefallthroughforgogotoifrangereturnselectswitch标识符命名注意事项1)包名包名尽量与文件名保持一致尽量采用有意义的包名简短有意义不要和标准库冲突2)变量名、函数名、常量名采用驼峰法3)如果变量名、函数名、常量名首字母大写则可以被其他包访问如果首字母为小写则只能在本包中只用(可以理解为首字母大小为共有首字母小写为私有)golang预定义标识符36个基础数据类型和系统内嵌函数appendboolbytecapclosecomplexcomplex64complex128uint16copyfalsefloat32float64imagintint8int16uint32int32int64iotalenmakenewnilpanicuint64printprintlnrealrecoverstringtrueuintuint8uintptr

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号