news 2026/8/8 7:31:04

golang学习笔记: 类型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
golang学习笔记: 类型

基本类型

1. 布尔类型

varbbool=truevarflag=false// 类型推断

2. 数值类型

整数类型
variint// 平台相关,32或64位vari8int8// -128 ~ 127vari16int16// -32768 ~ 32767vari32int32// -2^31 ~ 2^31-1vari64int64// -2^63 ~ 2^63-1varuuint// 无符号varu8uint8// 0 ~ 255varu16uint16// 0 ~ 65535varu32uint32// 0 ~ 2^32-1varu64uint64// 0 ~ 2^64-1varrrune='A'// int32 的别名,表示 Unicode 码点varbybyte=0x41// uint8 的别名
浮点数
varf32float32=3.14varf64float64=3.1415926535
复数
varc64complex64=1+2ivarc128complex128=complex(3,4)

3. 字符串类型

varsstring="Hello"varmultiline=`多行 字符串`

复合类型

1. 数组

vararr1[3]int=[3]int{1,2,3}arr2:=[5]string{"a","b","c"}arr3:=[...]int{1,2,3,4,5}// 编译器推断长度

2. 切片(动态数组)

varslice1[]intslice2:=[]string{"a","b","c"}slice3:=make([]int,5)// 长度5,容量5slice4:=make([]int,5,10)// 长度5,容量10// 从数组创建arr:=[5]int{1,2,3,4,5}slice5:=arr[1:3]// [2, 3]

3. 映射(Map)

varm1map[string]intm2:=map[string]int{"a":1,"b":2}m3:=make(map[string]int)m3["key"]=100

4. 结构体

typePersonstruct{NamestringAgeintAddressstring}p1:=Person{"张三",25,"北京"}p2:=Person{Name:"李四",Age:30}p3:=&Person{}// 指针

5. 指针

varp*intx:=10p=&x*p=20// 修改 x 的值

特殊类型

1. 函数类型

typeFuncTypefunc(int,int)intvaradd FuncType=func(a,bint)int{returna+b}

2. 接口类型

typeWriterinterface{Write([]byte)(int,error)}typeReaderinterface{Read([]byte)(int,error)}

3. 通道类型

varch1chanint// 双向通道varch2chan<-string// 只写通道varch3<-chanfloat64// 只读通道ch4:=make(chanint)// 无缓冲通道ch5:=make(chanint,10)// 缓冲大小为10

类型别名和自定义类型

类型别名

typeMyInt=int// MyInt 和 int 是同一类型

自定义类型

typeMyInt2int// MyInt2 是新类型,需要类型转换vara MyInt2=10varbint=int(a)// 需要显式转换

类型零值

variint// 0varffloat64// 0.0varbbool// falsevarsstring// ""varp*int// nilvarsl[]int// nilvarmmap[string]int// nilvarcchanint// nilvarifaceinterface{}// nil

类型转换

variint=42varffloat64=float64(i)varuuint=uint(f)// 字符串转换s:=string(65)// "A"num:=int('A')// 65// strconv 包import"strconv"str:=strconv.Itoa(123)// "123"num,_:=strconv.Atoi("456")// 456

类型断言

variinterface{}="hello"s:=i.(string)// 断言s,ok:=i.(string)// 安全断言// 类型 switchswitchv:=i.(type){caseint:fmt.Println("int:",v)casestring:fmt.Println("string:",v)default:fmt.Println("unknown")}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/7 22:11:16

YOLOv5详解:高效目标检测模型实战指南

YOLOv5详解&#xff1a;高效目标检测模型实战指南 在自动驾驶的感知系统中&#xff0c;一帧图像需要在几十毫秒内完成对行人、车辆、交通标志等数十类目标的精准识别&#xff1b;在智能工厂的质检线上&#xff0c;摄像头每分钟要处理上千张产品图像&#xff0c;任何延迟都会导…

作者头像 李华
网站建设 2026/8/7 21:08:39

Windows下PaddleOCR GPU版环境搭建指南

Windows下PaddleOCR GPU版环境搭建指南 在做AI项目时&#xff0c;最让人头疼的往往不是模型设计&#xff0c;而是环境配置——尤其是当你想用GPU加速一个OCR工具&#xff0c;却发现卡在第一步。如果你正打算在Windows上部署PaddleOCR并启用GPU支持&#xff0c;这篇文章就是为你…

作者头像 李华
网站建设 2026/8/7 4:17:57

EBS后台查询人员职责信息

由于EBS查询人员的职责可以界面路径&#xff1a;系统管理员--安全性--用户查询一个用户可以&#xff0c;但是想通过职责查询人员不方便&#xff1a;FND_USER --账号表FND_RESPONSIBILITY_VL --职责表per_people_f --人员表根据上述表查询相关权限和人员信息关联&#xff1a;SE…

作者头像 李华
网站建设 2026/8/7 22:12:05

Qwen3-8B-AWQ性能优化与最佳实践

Qwen3-8B-AWQ性能优化与最佳实践 在当前大模型快速普及的背景下&#xff0c;如何在有限硬件条件下实现高效、稳定且高质量的语言推理&#xff0c;成为开发者面临的核心挑战。尤其对于中小企业、个人研究者和边缘部署场景而言&#xff0c;动辄百亿参数、需多卡并行的大模型显然不…

作者头像 李华
网站建设 2026/8/7 12:34:09

LLaMA-Factory 微调 DeepSeek-R1 模型实战指南

LLaMA-Factory 微调 DeepSeek-R1 模型实战指南 在大模型日益普及的今天&#xff0c;如何让一个通用语言模型真正“懂你”&#xff0c;成为个性化的智能助手&#xff1f;答案就是——微调。而对大多数开发者而言&#xff0c;传统微调流程复杂、门槛高、依赖多&#xff0c;常常望…

作者头像 李华