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

打卡go学习第一天

在这里插入图片描述

8.1
下面展示一些 代码

package mainimport ("fmt""net""os""time"
)type Clock struct {Name   stringAddr   string
}
func main() {clocks := []Clock{{Name: "New York", Addr: "localhost:8000"},{Name: "London", Addr: "localhost:8001"},{Name: "Tokyo", Addr: "localhost:8002"},}fmt.Printf("%-15s %s\n", "Location", "Time")for _, clock := range clocks {conn, err := net.Dial("tcp", clock.Addr)if err != nil {fmt.Fprintf(os.Stderr, "Error connecting to %s: %v\n", clock.Name, err)continue}defer conn.Close()// 读取服务器发送的时间var timeStr string_, err = fmt.Fscan(conn, &timeStr)if err != nil {fmt.Fprintf(os.Stderr, "Error reading time from %s: %v\n", clock.Name, err)continue}// 解析时间t, err := time.Parse(time.RFC3339, timeStr)if err != nil {fmt.Fprintf(os.Stderr, "Error parsing time from %s: %v\n", clock.Name, err)continue}fmt.Printf("%-15s %s\n", clock.Name, t.Format(time.RFC3339))}
}

8.2
下面展示一些 代码

package mainimport ("bufio""fmt""net""os""strings"
)func handleClient(conn net.Conn) {defer conn.Close()reader := bufio.NewReader(conn)writer := bufio.NewWriter(conn)for {// 读取客户端发送的命令cmd, err := reader.ReadString('\n')if err != nil {fmt.Println("Error reading command:", err)return}// 去除命令中的空白字符cmd = strings.TrimSpace(cmd)// 解析并处理命令switch cmd {case "cd":// 处理 cd 命令_, err := writer.WriteString("Change directory command executed.\n")if err != nil {fmt.Println("Error writing response:", err)return}writer.Flush()case "quit":// 处理退出命令returndefault:_, err := writer.WriteString("Unknown command.\n")if err != nil {fmt.Println("Error writing response:", err)return}writer.Flush()}}
}func main() {listener, err := net.Listen("tcp", ":2121")if err != nil {fmt.Println("Error starting server:", err)return}defer listener.Close()fmt.Println("Server started, waiting for connections...")for {conn, err := listener.Accept()if err != nil {fmt.Println("Error accepting connection:", err)continue}go handleClient(conn)}
}

相关文章:

打卡go学习第一天

8.1 下面展示一些 代码。 package mainimport ("fmt""net""os""time" )type Clock struct {Name stringAddr string } func main() {clocks : []Clock{{Name: "New York", Addr: "localhost:8000"…...

julia 笔记: 流程控制

1 复合表达式 用一个表达式有序地计算若干子表达式&#xff0c;并返回最后一个子表达式的值 1.1 begin代码块 z beginx 1y 2x yend z #3begin x 1; y 2; x y end #3 1.2 ;链 (x 1; y 2; x y) #3(x 1; y 2; x y) 3 2 条件表达式 x1 y2if x < yprintln(&q…...

【c++】 跟webrtc学周期性任务:tgcalls 5 网络超时检查

tgcalls 网络超时检查 G:\CDN\P2P-DEV\tdesktop-offical\Telegram\ThirdParty\tgcalls\tgcalls\NetworkManager.cppPostDelayedTask 使用的是rtc thread 方法 PostDelayedTask :G:\CDN\P2P-DEV\Libraries\tg_owt\src\rtc_base\thread.htemplate <class Closure,typename st…...

面试算法33:变位词组

题目 给定一组单词&#xff0c;请将它们按照变位词分组。例如&#xff0c;输入一组单词[“eat”&#xff0c;“tea”&#xff0c;“tan”&#xff0c;“ate”&#xff0c;“nat”&#xff0c;“bat”]&#xff0c;这组单词可以分成3组&#xff0c;分别是[“eat”&#xff0c;“…...

【C语言】每日一题(旋转数组)

旋转数组&#xff0c;链接奉上 目录 方法:创建额外的数组&#xff1a;整体思路&#xff1a;代码实现&#xff1a; 数组反转&#xff1a;整体思路&#xff1a;代码实现&#xff1a;小插曲&#xff1a; 方法: 创建额外的数组&#xff1a; 整体思路&#xff1a; 创建一个额外的…...

系统架构师考试科目一:综合知识

某软件公司欲开发一个 Windows 平台上的公告板系统。在明确用户需求后&#xff0c;该公司的 架构师决定采用 Command 模式实现该系统的界面显示部分&#xff0c;并设计 UML 类图如下 图所示。图中与 Command 模式中的 Invoker 角色相对应的类是( ) &#xff0c;与 ConcreteComm…...

面向对象与面向过程讲解

目录 简介 面向过程编程&#xff08;Procedural Programming&#xff09; 什么是面向过程编程&#xff1f; 特点&#xff1a; 面向对象编程&#xff08;Object-Oriented Programming&#xff09; 什么是面向对象编程&#xff1f; 特点&#xff1a; 面向对象 vs. 面向过程…...

【SA8295P 源码分析 (四)】23 - QNX Ethernet MAC 驱动 之 emac1_config.conf 配置文件解析

【SA8295P 源码分析】23 - QNX Ethernet MAC 驱动 之 emac1_config.conf 配置文件解析 系列文章汇总见:《【SA8295P 源码分析 (四)】网络模块 文章链接汇总 - 持续更新中》 本文链接:《【SA8295P 源码分析 (四)】23 - QNX Ethernet MAC 驱动 之 emac1_config.conf 配置文件解…...

Python【list列表去重】

目录 要求&#xff1a; 将list中的重复数据去重&#xff0c;至少使用两种方案 方案一&#xff1a; 方案二&#xff1a; 要求&#xff1a; 将list中的重复数据去重&#xff0c;至少使用两种方案 方案一&#xff1a; 使用set &#xff0c;可以将list转换为set&#xff0…...

Leetcode——字符

520. 检测大写字母 class Solution { public:bool detectCapitalUse(string word) {int big 0, small 0, len word.length();for (int i 0; i < len; i) {if (word[i] > 65 && word[i] < 90) {big;}else {small;}}if (big len || small len) {return tr…...

深入解析docker内核网桥

今天做虚拟桌面&#xff0c;朋友问我&#xff0c;为什么vnc 连接另一个docker 容器一直超时&#xff0c;原因是在docker 启动的时候没有组网&#xff0c;那么接下来我就要解析下docker的内核网络。 我们思考几个问题&#xff0c;带你了解linux 中docker 网络实现的基本原理。 文…...

ubuntu18.04服务器双网口配置上外网

记录一下配置服务器过程&#xff0c;本以为简单&#xff0c;结果整了一天。 服务器有2个网口&#xff0c;网口2是用来上外网的&#xff0c;原来用的01-netcfg.yaml进行ip地址设置&#xff0c;主要就用2条命令&#xff1a; vi /etc/netplan/01-netcfg.yaml &#xff08;打开后…...

【安全体系架构】——防御深度架构

防御深度架构&#xff1a; 防御深度架构是一种多层次的安全模型&#xff0c;旨在通过在网络和系统的各个层次上部署多个安全措施&#xff0c;以抵御不同类型的威胁和攻击。这个模型承认单一的安全措施可能无法全面防御所有潜在威胁&#xff0c;因此采用了多层次的安全防御策略…...

Opencv之RANSAC算法用于直线拟合及特征点集匹配详解

Opencv之RANSAC算法用于直线拟合及特征点集匹配详解 讲述Ransac拟合与最小二乘在曲线拟合上的优缺点 讲述在进行特征点匹配时&#xff0c;最近邻匹配与Ransac匹配的不同之处 另外&#xff0c;Ransac也被用于椭圆拟合、变换矩阵求解等 1. 直线拟合 1.1 原理 RANSAC(RANdom …...

Jenkins环境部署与任务构建

一、CI/CD 1、CI/CD 概念&#xff1a; CI/CD 是一种软件开发和交付方法&#xff0c;旨在加速应用程序的开发、测试和部署过程&#xff0c;以提高软件交付的质量和效率。 (1) 持续集成 (CI Continuous Integration): 持续集成是开发团队频繁集成其代码更改的过程。开发者将其…...

ES6 Class和Class继承

1.class的基本语法 class可以理解为是一个语法糖&#xff0c;将js只能通过构造函数创建实例的方法进行了补充 构造函数&#xff1a; function Person ({ name, age18 }) {this.name namethis.age age } new Person({name: 张三}) Class类&#xff1a; class Person {con…...

C++11 packaged_task

std::packaged_task 把一个方法打包成一个task扔到线程中执行&#xff0c;然后通过packaged_task中的furture等待执行结果。 void test_promise() {std::packaged_task <int()> task([]()->int {std::cout << "packaged_task begin \n" << std…...

delete、drop、truncate三兄弟

比较方面/具体命令deletetruncatedrop删除范围逐行删除&#xff08;记录行&#xff09;逐页删除&#xff08;数据页&#xff09;整张表&#xff08;数据表结构&#xff09;所属范畴数据操作语言&#xff08;DML&#xff09;数据定义语言&#xff08;DDL&#xff09;数据定义语言…...

C/C++运算优先级

文章目录 前言1.运算优先级表2.举例说明&#xff1a;总结 前言 最近复习C基础知识的时候&#xff0c;发现对这部分还是有些模糊。常用的 - &#xff0c;括号等运算符对于它们的优先级还是比较明确的。但是涉及到移位运算&#xff0c;逻辑运算这种&#xff0c;再结合四则运算…...

apache搭建静态网站,moongoose搭建网站后台,出现的跨域问题解决

文章目录 1&#xff0c;问题描述1.1&#xff0c;当网页和后台是不同服务时会产生跨域问题1.2&#xff0c;跨域问题 2&#xff0c;nginx端口转发解决跨域问题2.1&#xff0c;下载并安装nginx2.1.1&#xff0c;解压后如下所示2.1.2&#xff0c;进入解压目录后&#xff0c;执行配置…...

从‘瑞士卷’到‘鸢尾花’:用Python可视化带你彻底搞懂层次聚类(AgglomerativeClustering)

从‘瑞士卷’到‘鸢尾花’&#xff1a;用Python可视化彻底理解层次聚类 当面对高维数据时&#xff0c;我们常常需要一种能够直观展示数据结构的方法。层次聚类&#xff08;Hierarchical Clustering&#xff09;不仅提供了数据的聚类结果&#xff0c;更重要的是通过树状图&#…...

mysql权限表查询性能如何优化_MySQL系统权限缓存原理

BEM 能让 CSS 更易复用&#xff0c;因其通过「块__元素--状态」命名强制绑定样式与结构&#xff0c;明确依赖关系&#xff0c;避免全局冲突&#xff1b;补 BEM 应渐进式改造高频模块&#xff0c;严守命名规范&#xff1b;它不与 CSS-in-JS 或 Tailwind 冲突&#xff0c;但需统一…...

速德瑞313/340/351nm紫外检测仪器全适配JJF 2132—2024

JJF2132—2024《荧光紫外灯人工气候老化试验装置校准规范》于2024年12月14日正式实施&#xff0c;核心监测波段升级为340nm、351nm、313nm&#xff0c;同时明确310通道和340通道监测要求。速德瑞准确响应新规&#xff0c;不仅推出匹配310/340nm波段的氙灯辐照计&#xff0c;更构…...

Prompt即API:将智能代码生成接入CI/CD流水线的4层抽象架构(含OpenAPI Schema定义与验证工具链)

第一章&#xff1a;Prompt即API&#xff1a;将智能代码生成接入CI/CD流水线的4层抽象架构&#xff08;含OpenAPI Schema定义与验证工具链&#xff09; 2026奇点智能技术大会(https://ml-summit.org) 当提示词&#xff08;Prompt&#xff09;被赋予结构化契约、可验证输入输出…...

从设备入库到报废:设备档案管理能解决哪些场景痛点?一套设备档案管理系统的实战应用

在制造企业中&#xff0c;设备是吃饭的家伙。但很多工厂的设备管理现状是这样的&#xff1a;新设备买回来&#xff0c;发票往文件夹里一塞&#xff0c;铭牌拍张照存在手机里&#xff0c;然后就交给产线用了。三年后&#xff0c;这台设备维修过几次&#xff1f;换了哪些备件&…...

LX Music桌面版:三大痛点解决方案,让你的音乐体验焕然一新

LX Music桌面版&#xff1a;三大痛点解决方案&#xff0c;让你的音乐体验焕然一新 【免费下载链接】lx-music-desktop 一个基于 Electron 的音乐软件 项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop 你是否厌倦了音乐平台的会员限制&#xff1f;是…...

避坑指南:瑞萨e2studio中DTC地址绑定的那些坑——以RA2E1内存操作为例

瑞萨RA2E1开发实战&#xff1a;DTC地址绑定疑难解析与高效调试方案 在嵌入式开发领域&#xff0c;瑞萨RA2E1系列MCU凭借其出色的低功耗特性和丰富的外设资源&#xff0c;成为物联网终端设备的理想选择。然而&#xff0c;当开发者深入使用e2studio集成开发环境时&#xff0c;往往…...

从人工撰写到秒级交付,AI生成接口文档的准确率跃升至98.7%——2026奇点大会白皮书首曝训练数据闭环架构

第一章&#xff1a;从人工撰写到秒级交付&#xff0c;AI生成接口文档的准确率跃升至98.7%——2026奇点大会白皮书首曝训练数据闭环架构 2026奇点智能技术大会(https://ml-summit.org) 传统接口文档编写依赖开发者手动同步代码变更、补充参数说明与示例请求&#xff0c;平均耗时…...

【限时解密】SITS2026隐藏评测项首次公开:IDE插件内存泄漏阈值、多光标协同生成稳定性、离线模式响应延迟——92%用户从未自查过的3大性能黑洞

第一章&#xff1a;SITS2026发布&#xff1a;智能代码生成工具评测 2026奇点智能技术大会(https://ml-summit.org) 核心能力与架构演进 SITS2026 是基于多模态联合建模与细粒度语义解析的下一代智能代码生成平台&#xff0c;其推理引擎支持跨语言上下文感知&#xff08;Pytho…...

惠普/H3C服务器iLO管理页面SSA配置详解:如何正确开启HBA模式与安装Windows系统

惠普/H3C服务器iLO管理界面SSA配置实战&#xff1a;HBA模式切换与Windows系统部署全指南 第一次接触惠普或H3C服务器的工程师&#xff0c;往往会被其独特的iLO带外管理系统和SSA存储配置工具所困扰。特别是当需要绕过硬件RAID直接使用单盘进行性能测试时&#xff0c;如何正确配…...