golang格式化输入输出
fmt包使用类似于C的printf和scanf的函数实现格式化I/O
1输出格式化
一般的:
| 动词 | 效果 | 解释 |
|---|---|---|
| %v | [1 -23 3]、[1 -23 3]、&{sdlkjf 23} | 以默认格式显示的值,与bool(%t)、int, int8 etc(%d)、uint, uint8 etc(%d)、float32, complex64, etc(%g)、string(%s)、chan(%p)、pointer(%p )等效 |
| %+v | [1 -23 3]、[1 -23 3]、&{Name:sdlkjf Age:23} | 打印结构时添加字段名称 |
| %#v | [3]int{1, -23, 3}、[]int{1, -23, 3}、&main.Student{Name:“sdlkjf”, Age:23} | 值的 Go 语法表示(浮点无穷大和 NaN 打印为 ±Inf 和 NaN) |
| %T | [3]int、[]int、*main.Student | %T 值类型的 Go 语法表示 |
| %% | %%!(EXTRA int=1)、%%!(EXTRA [3]int=[1 -23 3])、%%!(EXTRA []int=[1 -23 3])、%%!(EXTRA *main.Student=&{sdlkjf 23}) | 文字百分号;不消耗任何值 |
布尔:
| 动词 | 效果 | 解释 |
|---|---|---|
| %t | true、false | 单词 true 或 false |
整形:
| 动词 | 效果 | 解释 |
|---|---|---|
| %d | 5 6 7 8 -9 10 11 12 13 14 | 十进制 |
| %+d | +5 +6 +7 +8 -9 +10 +11 +12 +13 +14 | 显示正负号的十进制 |
| %4d | - 5 6 7 8 -9 10 11 12 13 14- | 宽度为4,右对齐 |
| %-4d | -5 6 7 8 -9 10 11 12 13 14 - | 宽度为4,左对齐 |
| %b | 101 110 111 1000 -1001 1010 1011 1100 1101 1110 | 二进制 |
| %o | 5 6 7 10 -11 12 13 14 15 16 | 八进制 |
| %O | 0o5 0o6 0o7 0o10 -0o11 0o12 0o13 0o14 0o15 0o16 | 前缀为 0o的八进制 |
| %x | 5 6 7 8 -9 a b c d e | 十六进制,af 为小写字母 |
| %X | 5 6 7 8 -9 A B C D E | 十六进制,AF 为大写字母 |
| %U | U+0005 U+0006 U+0007 U+0008 U+FFFFFFFFFFFFFFF7 U+000A U+000B U+000C U+000D U+000E | Unicode 格式:U+1234;与“U+%04X”相同 |
| %q | ‘\x05’ ‘\x06’ ‘\a’ ‘\b’ ‘�’ ‘\n’ ‘\v’ ‘\f’ ‘\r’ ‘\x0e’ | 使用 Go 语法安全转义的单引号字符文字 |
| %c | (输出为空,都是特殊字符) | 相应 Unicode 代码点所表示的字符 |
浮点和复数:
| 动词 | 效果 | 解释 |
|---|---|---|
| %f | 2.230000 5.780000 | 有小数点但没有指数,例如 123.456 |
| %.4f | 2.2300 5.7800 | 有小数点但没有指数,精度为4 |
| %9f | - 2.230000 5.780000- | 有小数点但没有指数,宽度为9,右对齐 |
| %9f | - 2.230000 5.780000- | 有小数点但没有指数,宽度为9,右对齐 |
| %9.f | - 2 6- | 有小数点但没有指数,宽度为9,右对齐,精度为0 |
| %9.4f | - 2.2300 5.7800- | 有小数点但没有指数,宽度为9,右对齐,精度为4 |
| %F | 2.230000 5.780000 | %F 与 %f 同义 |
| %b | 9353298p-22 6507701461550367p-50 | 无小数的科学计数法,指数为 2 的幂,与 strconv.FormatFloat 类似,但格式为 ‘b’,例如 -123456p-78 |
| %e | 2.230000e+00 5.780000e+00 | 科学计数法,例如 -1.234456e+78 |
| %E | 2.230000E+00 5.780000E+00 | 科学计数法,例如 -1.234456E+78 |
| %g | 2.23 5.78 | 表示大指数,否则为 %f |
| %e | 2.230000e+00 5.780000e+00 | 表示大指数,否则为 %f |
| %G | 2.23 5.78 | 表示大指数,否则为 %F |
| %E | 2.230000E+00 5.780000E+00 | 表示大指数,否则为 %F |
| %x | 0x1.1d70a4p+01 0x1.71eb851eb851fp+02 | 十六进制计数法(指数为 2 的十进制幂),例如 -0x1.23abcp+20 |
| %X | 0X1.1D70A4P+01 0X1.71EB851EB851FP+02 | 大写十六进制计数法,例如 -0X1.23ABCP+20 |
字符串和字节切片:
| 动词 | 效果 | 解释 |
|---|---|---|
| %s | sdlkfjasdfja HelloWord | 字符串或切片的未解释字节 |
| %q | “sdlkfjasdfja” “HelloWord” | 使用 Go 语法安全转义的双引号字符串 |
| %x | 73646c6b666a617364666a61 48656c6c6f576f7264 | 以 16 为基数,小写,每个字节两个字符 |
| %X | 73646C6B666A617364666A61 48656C6C6F576F7264 | %X 以 16 为基数,大写,每个字节两个字符 |
| %p | 0xc000092020 0xc000092030 | 以 16 进制表示的第 0 个元素的地址,以 0x 开头 |
指针:
| 动词 | 效果 | 解释 |
|---|---|---|
| %p | 0xc000092020 0xc000092030 | 以 16 为基数,以 0x 为前导 |
| %b | 1100000000000000000010010010000000100000 1100000000000000000010010010000000110000 | 二进制 |
| %d | 824634318880 824634318896 | 十进制 |
| %o | 14000002220040 14000002220060 | 八进制 |
| %x | c000092020 c000092030 | 十六进制小字母 |
| %X | C000092020 C000092030 | 十六进制大字母 |
其他标识:
| 动词 | 解释 |
|---|---|
| ‘+’ | 总是为数值打印符号;保证 %q 仅输出 ASCII 格式(%+q) |
| ‘-’ | 在右侧而不是左侧填充空格(左对齐该字段) |
| ‘#’ | 为二进制添加前导 0b(%#b)、为八进制添加 0(%#o)、为十六进制添加 0x 或 0X(%#x 或 %#X);为 %p 隐藏 0x(%#p);对于 %q,如果 strconv.CanBackquote返回 true,则打印原始(反引号)字符串;总是为 %e、%E、%f、%F、%g 和 %G 打印小数点;不要删除 %g 和 %G 的尾随零;如果字符对 %U(%#U)可打印,则写入例如 U+0078 ‘x’’ (空格)为数字中的省略符号留一个空格(% d);在打印字符串或十六进制切片的字节之间放置空格(%x,%X);没有备用十进制格式,因此 %#d 和 %d 的行为相同 |
| ‘0’ | 用前导零而不是空格填充;对于数字,这会将填充移动到符号后 |
2显示参数索引
在Printf、Sprintf和Fprintf中,每个格式化动词的默认行为是格式化在调用中传递的连续参数。但是,动词前面的符号 [n] 表示将格式化第 n 个 1 索引的参数。宽度或精度的 ‘*’ 之前的相同符号选择保存该值的参数索引。在处理括号表达式 [n] 之后,后续动词将使用参数 n+1、n+2 等,除非另有指示。
fmt.Sprintf("%[2]d %[1]d\n", 11, 22)
//22 11//下面这两个等效
fmt.Printf("%[3]*.[2]*[1]f\n", 12.0, 2, 6)
fmt.Printf("%6.2f\n", 12.0)
//12.00
//12.00
3格式错误
所有错误都以字符串“%!”开头,有时后面跟着一个字符(动词),并以括号内的描述结尾。
//类型错误或动词未知:%!verb(type=value)
fmt.Printf("%d", "hi")
fmt.Println()
//%!d(string=hi)//参数太多:%!(EXTRA type=value)
fmt.Printf("hi", "guys")
fmt.Println()
//hi%!(EXTRA string=guys)//参数太少:%!verb(MISSING)
fmt.Printf("hi%d\n")
fmt.Println()
//hi%!d(MISSING)//宽度或精度非整数:%!(BADWIDTH) 或 %!(BADWIDTH)
fmt.Printf("%*s", 4.5, "hi")
fmt.Println()
//%!(BADWIDTH)hi
fmt.Printf("%.*s", 4.5, "hi")
fmt.Println()
//%!(BADPREC)hi//参数索引无效或使用不正确:%!(BADINDEX)
fmt.Printf("%*[2]d", 7)
fmt.Println()
//%!d(BADINDEX)
fmt.Printf("%.[2]d", 7)
fmt.Println()
//%!d(BADINDEX)
4输入输出
| 函数名 | 参数 | 返回值 | 解释 |
|---|---|---|---|
| Fprint | w io.Writer, a …any | n int, err error | Fprintf 根据格式说明符格式化并写入 w。它返回写入的字节数和遇到的任何写入错误。 |
| Fprintf | w io.Writer, format string, a …any | n int, err error | Fprintf 根据格式说明符格式化并写入 w。它返回写入的字节数和遇到的任何写入错误。 |
| Fprintln | w io.Writer, a …any | n int, err error | Fprintln 使用其操作数的默认格式进行格式化并写入 w。操作数之间始终添加空格并附加换行符。它返回写入的字节数和遇到的任何写入错误。 |
| Fscan | r io.Reader, a …any | n int, err error | Fscan 扫描从 r 读取的文本,将连续的空格分隔值存储到连续的参数中。换行符算作空格。它返回成功扫描的项目数。如果该数量小于参数数量,err 将报告原因。 |
| Fscanf | r io.Reader, a …any | n int, err error | n int , err error |
| Fscanln | r io . Reader , a … any | n int , err error | Fscanln 与Fscan类似,但在换行符处停止扫描,并且在最后一项之后必须有一个换行符或 EOF。返回值n是变量数 |
| Fscanln | r io . Reader , a … any | n int , err error | Fscanln 与Fscan类似,但在换行符处停止扫描,并且在最后一项之后必须有一个换行符或 EOF。返回值n是变量数 |
| a … any | n int,err error | 使用默认格式打印其操作数的格式并写入标准输出。当操作数都不是字符串时,会在操作数之间添加空格。它返回写入的字节数和遇到的任何写入错误。 | |
| Println | a … any | n int,err error | Println 使用其操作数的默认格式进行格式化并写入标准输出。操作数之间始终添加空格并附加换行符。它返回写入的字节数和遇到的任何写入错误。 |
| Scan | a … any | n int,err error | Scan 扫描从标准输入读取的文本,将连续的空格分隔值存储到连续的参数中。换行符算作空格。它返回成功扫描的项目数。如果该数量小于参数数量,err 将报告原因。 |
| Scanf | format string, a …any | n int, err error | Scanf 扫描从标准输入读取的文本,将连续的空格分隔值存储到由格式确定的连续参数中。它返回成功扫描的项目数。如果该数量小于参数数量,err 将报告原因。输入中的换行符必须与格式中的换行符匹配。一个例外:动词 %c 始终扫描输入中的下一个符文,即使它是空格(或制表符等)或换行符。 |
| Scanln | a …any | n int, err error | Scanln 与Scan类似,但在换行符处停止扫描,并且在最后一项之后必须有一个换行符或 EOF。 |
| Sprint | a …any | string | Sprintf 根据格式说明符进行格式化并返回结果字符串。 |
| Sprintf | format string, a …any | string | Sprintf 根据格式说明符进行格式化并返回结果字符串。 |
| Sprintln | a …any | string | Sprintln 使用其操作数的默认格式进行格式化并返回结果字符串。操作数之间始终添加空格并附加换行符。 |
| Sscan | str string , a … any | n int , err error | Sscan 扫描参数字符串,将连续的空格分隔值存储到连续的参数中。换行符算作空格。它返回成功扫描的项目数。如果该数量小于参数数量,err 将报告原因。 |
| Sscanf | str string, format string, a …any | n int , err error | Sscanf 扫描参数字符串,将连续的空格分隔值存储到由格式确定的连续参数中。它返回成功解析的项目数。输入中的换行符必须与格式中的换行符匹配。 |
| Sscanf | str string, format string, a …any | n int , err error | Sscanf 扫描参数字符串,将连续的空格分隔值存储到由格式确定的连续参数中。它返回成功解析的项目数。输入中的换行符必须与格式中的换行符匹配。 |
| Sscanln | str string,a … any | n int , err error | Sscanln 与Sscan类似,但在换行符处停止扫描,并且在最后一项之后必须有一个换行符或 EOF。 |
| Format | f State , verb runey | - | 该实现控制如何解释State和 rune,并可能调用Sprint或Fprint (f) 等来生成其输出。 |
| GoStringer | - | string | 该方法定义该值的 Go 语法。GoString 方法用于打印作为操作数传递给 %#v 格式的 |
| ReadRune | - | r rune , size int , err error | ReadRune 从输入中读取下一个符文(Unicode 代码点)。 如果在 Scanln、Fscanln 或 Sscanln 期间调用,ReadRune() 将在返回第一个 ‘\n’ 或读取超出指定宽度后返回 EOF。 |
| UnreadRune | - | error | 导致下一次调用ReadRune返回相同的符文。 |
| SkipSpace | - | - | SkipSpace跳过输入中的空格。新线路得到适当处理,用于正在执行的操作;请参阅软件包文档,了解更多信息。 |
| Token | skipSpace bool, f func(rune) bool | token []byte, err error | 如果skipSpace为真,则Token跳过输入中的空格,然后返回满足f©的Unicode码点c的运行。如果f为零!unicode。使用IsSpace©;也就是说,令牌将包含非空格字符。对新管线进行适当处理,以适应正在进行的操作;有关更多信息,请参阅软件包文档。返回的切片指向共享数据,这些数据可能会被下一次调用Token、使用ScanState作为输入调用Scan函数或调用Scan方法返回时覆盖。 |
| Width | - | wid int, ok bool | Width返回宽度选项的值以及是否已设置。单位是Unicode码位。 |
| Read | buf []byte | n int, err error | 因为ReadRune是由接口实现的,所以扫描例程永远不应该调用Read,有效的ScanState实现可能会选择始终从Read返回错误。 |
| Scan | state ScanState, verb rune | error | Scanner 由具有 Scan 方法的任何值实现,该方法扫描输入以查找值的表示形式并将结果存储在接收器中,接收器必须是指针才有用。对于实现它的Scan、Scanf或Scanln的任何参数,都会调用 Scan 方法。 |
| Write | b []byte | n int, err error | Write是调用以发出要打印的格式化输出的函数。 |
| Width | - | wid int, ok bool | Width返回宽度选项的值以及是否已设置。 |
| Precision | - | prec int, ok bool | Precision返回精度选项的值以及是否已设置。 |
| Flag | c int | bool | Flag报告是否已设置标志c(一个字符)。 |
| String | - | string |
测试代码
相关文章:
golang格式化输入输出
fmt包使用类似于C的printf和scanf的函数实现格式化I/O 1输出格式化 一般的: 动词效果解释%v[1 -23 3]、[1 -23 3]、&{sdlkjf 23}以默认格式显示的值,与bool(%t)、int, int8 etc(%d)、uint, uint8 et…...
Jenkins基于tag的构建
文章目录 Jenkins参数化构建设置设置gitlab tag在工程中维护构建的版本按指定tag的版本启动服务 Jenkins参数化构建设置 选择参数化构建: 在gradle构建之前,增加执行shell的步骤: 把新增的shell框挪到gradle构建之前, 最后保存 …...
性能设计模式
class Singleton { public: static Singleton& getInstance() {static Singleton instance; // 局部静态变量return instance; } private:Singleton() {}Singleton(const Singleton&) delete; // 禁止拷贝Singleton& operator(const Singleton&) delete; // …...
Android 热点分享二维码功能简单介绍
Android 热点分享二维码 文章目录 Android 热点分享二维码一、前言二、热点二维码1、热点分享的字符串2、代码中热点字符串拼接和设置示例3、一个图片示例 三、其他1、Android 热点分享二维码小结2、Android11 设置默认热点名称和热点密码、密码长度 一、前言 比较新的Android…...
SIEM之王,能否克服创新者的窘境?
《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 《Java代码审…...
(JAVA)浅尝关于 “栈” 数据结构
1. 栈的概述: 1.1 生活中的栈 存储货物或供旅客住宿的地方,可引申为仓库、中转站。例如酒店,在古时候叫客栈,是供旅客休息的地方,旅客可以进客栈休息,休息完毕后就离开客栈 1.2计算机中的栈 将生活中的…...
【前端】ES13:ES13新特性
文章目录 1 类新增特性1.1 私有属性和方法1.2 静态成员的私有属性和方法1.3 静态代码块1.4 使用in来判断某个对象是否拥有某个私有属性 2 支持在最外层写await3 at函数来索引元素4 正则匹配的开始和结束索引5 findLast() 和 findLastIndex() 函数6 Error对象的Cause属性 1 类新…...
vuepress 浏览器加载缓存,总是显示旧页面,无法自动刷新数据的解决方法
vuepress 采用多页面形式,每个md文件在打包时,都会被转为一个html页面;而浏览器默认会缓存页面,导致更新的页面必须手动刷新才行 对于更新较为频繁的文档 全局可在config.js里设置 参考文档: https://vuepress.github.io/zh/ref…...
如何使用代理IP解决反爬虫问题
在网络爬虫的世界里,反爬虫机制就像是守卫城池的士兵,时刻准备着抵御外来的“入侵者”。为了突破这些守卫,代理IP就像是你的隐形斗篷,帮助你在网络世界中自由穿梭。今天,我们就来聊聊如何使用代理IP解决反爬虫问题。 …...
QT学习笔记之绘图
或许有人会等你到天黑,但是你不该在天黑后再找他(她)。 1.绘图事件 在ui文件中添加一个按钮,同时在资源文件中添加一个名字为1.jpg的图片。 widget.cpp #include "widget.h" #include "ui_widget.h" #incl…...
大数据新视界 --大数据大厂之数据清洗工具 OpenRefine 实战:清理与转换数据
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
基于QT的C++中小项目软件开发架构源码
描述 基于QT信号槽机制实现类之间的交互调用通信,适用于使用不同枚举作为消息交互的类型场景,支持附带任意参数,代码使用方式参考前一篇文章 特性 代码简洁,不超过100行仅需包含一个头文件Communicator.h,需要通信的…...
self-supervised, weakly supervised, and supervised respectively区别
Self-supervised learning(自监督学习)、weakly supervised learning(弱监督学习)和supervised learning(监督学习)是机器学习中的不同学习范式,它们的主要区别如下: 一、监督学习&…...
安卓好软-----手机屏幕自动点击工具 无需root权限
工具可以设置后自动点击屏幕。可以用于一些操作。例如自动刷视频等等哦 工具介绍 一款可以帮你实现自动操作的软件。软件中你可以根据实际需要设置点击位置,可以是屏幕上的特定位置,也可以是按钮或控件。功能非常强大,但是操作非常简单&…...
【Redis】主从复制(下)--主从复制原理和流程
文章目录 主从复制原理主从节点建立复制流程图数据同步 psyncpsync的语法格式 psync运行流程全量复制全量复制的流程全量复制的缺陷有磁盘复制 vs 无磁盘复制 部分复制部分复制的流程复制积压缓冲区 实时复制 主从复制原理 主从节点建立复制流程图 保存主节点的信息从节点(sla…...
Pencils Protocol上线 Vaults 产品,为 $DAPP 深入赋能
Pencils Protocol 是 Scroll 生态一站式综合收益平台,该平台以 DeFi 功能作为抓手,基于 Farming、Vaults、Auction 等功能不断向 LRT、LaunchPad、AI、FHE、RWA 等领域深入的拓展。 近期 Pencils Protocol 生态不断迎来重磅进展,一个是 $DAPP…...
uni-app+vue3+pina实现全局加载中效果,自定义全局变量和函数可供所有页面使用
首先自定义一个加载中组件 ccloading.vue <template><view class"request-loading-view" v-if"loadingShow"><view class"loading-view"><image class"loading-img" :src"loading" mode"aspectF…...
基于SSM+小程序的在线课堂微信管理系统(在线课堂1)(源码+sql脚本+视频导入教程+文档)
👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 &emsp1、管理员实现了首页、个人中心、用户管理、课程分类管理、课程信息管理、课程订阅管理、课程视频管理、公告栏管理、留言板管理、系统管理。 2、用户实现了首页、课程信息、公…...
Uniapp 微信小程序 最新 获取用户头像 和 昵称 方法 有效可用
文章目录 前言代码实现运行效果技术分析 前言 同事有个需求 授权获取用户头像 和 昵称 。之前做过线上小程序发版上线流程 就实现了下 最新的方法和 api 有些变化 记录下 代码实现 先直接上代码 <template><view class"container"><buttonclass&qu…...
儿童手抄报模板-200个(家有神兽必备)
在这个充满色彩与想象的世界里,每一位小朋友都是一位小小艺术家和梦想家。作为家长或老师,我们总是希望能为他们的学习生活增添一抹亮色,激发他们的创造力与探索欲。今天,就为大家带来一份超级实用的资源——儿童手抄报模板-200个…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...
土建施工员考试:建筑施工技术重点知识有哪些?
《管理实务》是土建施工员考试中侧重实操应用与管理能力的科目,核心考查施工组织、质量安全、进度成本等现场管理要点。以下是结合考试大纲与高频考点整理的重点内容,附学习方向和应试技巧: 一、施工组织与进度管理 核心目标: 规…...
