打卡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)}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/140726.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle数据库 ORA-28001: the password has expired解决方法

今天在用dbvisualizer登录数据库的时候,报了the password has expired的错误,于是上网查了一下原因,是因为数据库密码过期了,因为默认的是180天。 解决方法: 1)用系统用户登录 #在cmd终端输入&#xff1…

怎么把本机设置成代理ip?

代理IP服务能帮助您隐藏您的真实IP,从而保护您的隐私和安全。本文将指导您如何将本机设置为代理IP。代理IP服务能帮助您隐藏您的真实IP,从而保护您的隐私和安全。本文将指导您如何将本机设置为代理IP。设置代理IP可以用于多种用途,比如&#…

为数据列表的每条记录生成对应的二维码

效果图&#xff1a; 一、前端 <!DOCTYPE html> <html lang"zh" xmlns:th"http://www.thymeleaf.org" xmlns:shiro"http://www.pollix.at/thymeleaf/shiro"> <head><th:block th:include"include :: header(固定资产…

Apache DolphinScheduler 官方发布3.2.0版本!大数据调度【重磅更新】

今天&#xff0c;Apache DolphinScheduler 3.2.0 版本在万众期待中终于发布了&#xff01;在之前的预告中&#xff0c;包括《重磅预告&#xff01;Apache DolphinScheduler 3.2.0 新功能“剧透”》、《3.2.0 版本预告&#xff01;Apache DolphinScheduler API 增强相关功能》、…

大中小企业自招人力及劳务派遣全行业招聘来抖音招聘流量大效果佳

抖音直播招聘报白是通过抖音直播方式展现职位信息&#xff0c;并与求职者进行互动的招聘方式。在抖音平台上&#xff0c;企业或者人力资源公司可以通过直播的形式&#xff0c;将职位以视频直播的方式展现出来。通过抖音直播招聘报白&#xff0c;企业或者人力资源公司可以利用抖…

群晖synology DSM 7.2设置钉钉Webhooks通知

现在越来越多的小伙伴都有了自己的Nas系统&#xff0c;为了更加方便的接收Nas的消息&#xff0c;这篇文章带着大家一起配置一个钉钉&#xff08;机器人&#xff09;即时消息通知 首先登录钉钉的开放平台&#xff1a;开发者后台统一登录 - 钉钉统一身份认证 1.创建一个机器人&…

uniapp实现简单的九宫格抽奖(附源码)

效果展示 uniapp实现大转盘抽奖 实现步骤&#xff1a; 1.该页面可设置8个奖品&#xff0c;每个奖品可设置中奖机会的权重&#xff0c;如下chance越大&#xff0c;中奖概率越高&#xff08;大于0&#xff09; // 示例代码 prizeList: [{id: 1,image: "https://img.alicdn…

在ts中val is Map是什么意思呢?

最近在学习vue3的源码&#xff0c;顺便也在学习ts&#xff0c;就记录一下自己学习中的困惑吧 export const isArray Array.isArray export const isMap (val: unknown): val is Map<any, any> >toTypeString(val) [object Map] export const isSet (val: unknow…

IP 协议的相关特性(部分)

IP 协议的报文格式 4位版本号&#xff1a; 用来表示IP协议的版本&#xff0c;现有的IP协议只有两个版本&#xff0c;IPv4&#xff0c;IPv6。 4位首部长度&#xff1a; 设定和TCP的首部长度一样 8位服务类型&#xff1a; &#xff08;真正只有4位才有效果&#xff09;&#xf…

智慧停车场项目-SpringBoot的Smart-parking

基于SpringBoot的Smart-parking 智慧停车场项目 介绍 基于 SpringBoot Vue 的智能停车场项目 系统首页 作者 如需本项目源代码&#xff0c;可扫码或者VX:zxd1534124905联系作者。 基础环境 JDK1.8、Maven、Mysql、IntelliJ IDEA、payCloud 相关组件 ok-adminvueiViewec…

Vue笔记_插件组件_lucky-canvas抽奖转盘

文章目录 官网使用(vue2.x)[1] 下载[2] 引入[3] 使用配置项-width/height配置项-blocks配置项-prizes配置项-buttons优化案例 lucky-canvas 是一个基于 Js Canvas 的抽奖 web 前端组件&#xff0c;提供 大转盘和 九宫格两种抽奖界面&#xff0c;UI 精美&#xff0c;功能强大…

PhotoShop批量压缩图片

打开photoshop&#xff0c;在顶部的菜单栏选择文件》脚本》图像处理器。 选择合适的参数&#xff0c;运行即可。