帮我写一段go语言的示例代码
时间: 2023-08-28 15:56:21 浏览: 42
好的,下面是一个简单的 Go 语言示例代码,用于计算两个数字的和:
```go
package main
import "fmt"
func main() {
var num1, num2 int
fmt.Print("请输入第一个数字: ")
fmt.Scanln(&num1)
fmt.Print("请输入第二个数字: ")
fmt.Scanln(&num2)
sum := num1 + num2
fmt.Printf("两个数字的和为: %d\n", sum)
}
```
这段代码会提示用户输入两个数字,然后计算它们的和并输出结果。你可以尝试运行这段代码,并根据需要进行修改或扩展。希望对你有帮助!
相关问题
帮我写一段 go socket代码
### 回答1:
package mainimport (
"fmt"
"net"
)func main() {
// 创建一个socket
socket, err := net.Dial("tcp", "127.0.0.1:8080")
if err != nil {
fmt.Println("连接失败:", err)
return
}
defer socket.Close()
// 发送消息
socket.Write([]byte("hello world\n"))
// 接收消息
buf := make([]byte, 1024)
n, err := socket.Read(buf)
if err != nil {
fmt.Println("接收消息失败:", err)
return
}
fmt.Println("收到消息:", string(buf[:n]))
}
### 回答2:
当然,下面是一个简单的Go语言Socket代码示例:
```go
package main
import (
"fmt"
"net"
"os"
)
func main() {
// 创建TCP连接
conn, err := net.Dial("tcp", "127.0.0.1:8080")
if err != nil {
fmt.Println("无法连接到服务器:", err)
os.Exit(1)
}
defer conn.Close()
// 发送消息
message := "Hello, Server!"
_, err = conn.Write([]byte(message))
if err != nil {
fmt.Println("发送消息失败:", err)
os.Exit(1)
}
// 接收响应
buffer := make([]byte, 1024)
n, err := conn.Read(buffer)
if err != nil {
fmt.Println("接收响应失败:", err)
os.Exit(1)
}
response := string(buffer[:n])
fmt.Println("收到服务器响应:", response)
}
```
以上代码使用Go的标准库`net`、`os`来实现一个简单的Socket客户端。首先,使用`Dial`函数创建一个TCP连接并与服务器建立连接,如果连接失败,则输出错误信息并退出程序。
接着,使用`Write`函数向服务器发送消息,如果发送失败,则输出错误信息并退出程序。
然后,使用`Read`函数从服务器接收响应消息,并将接收到的响应转换为字符串,最后打印到控制台上。
这只是一个简单的示例代码,实际应用中你可能需要根据具体需求进行一些调整和优化。
### 回答3:
当然可以帮您编写一个 Go 语言的 Socket 代码段。下面是一个简单的例子,实现了一个服务端和一个客户端之间的基本数据传输:
服务端代码:
```go
package main
import (
"fmt"
"net"
)
func main() {
// 监听端口
ln, err := net.Listen("tcp", ":8080")
if err != nil {
fmt.Println("无法监听端口:", err)
return
}
fmt.Println("正在监听 :8080 ...")
// 等待客户端连接
conn, err := ln.Accept()
if err != nil {
fmt.Println("无法接受客户端连接:", err)
return
}
fmt.Println("客户端已连接。")
// 接收数据
data := make([]byte, 1024)
_, err = conn.Read(data)
if err != nil {
fmt.Println("无法接收数据:", err)
return
}
fmt.Println("接收到的数据:", string(data))
// 关闭连接
conn.Close()
}
```
客户端代码:
```go
package main
import (
"fmt"
"net"
)
func main() {
// 连接服务端
conn, err := net.Dial("tcp", "localhost:8080")
if err != nil {
fmt.Println("无法连接服务端:", err)
return
}
fmt.Println("已连接到服务端。")
// 发送数据
data := []byte("Hello, server!")
_, err = conn.Write(data)
if err != nil {
fmt.Println("无法发送数据:", err)
return
}
fmt.Println("数据已发送。")
// 关闭连接
conn.Close()
}
```
以上代码实现了一个简单的服务端和客户端,在本地的 8080 端口进行数据传输。服务端首先监听端口,等待客户端连接。客户端连接成功后发送一段数据给服务端,服务端接收到数据后打印出来。连接关闭后程序结束。
当然,这只是一个简单的示例,真实的 Socket 应用要根据业务需求做更详细的处理,比如增加错误处理、循环接收数据等。希望这段代码对您有所帮助!
写一段go语言链接mongodb代码
好的,请给我一些时间准备一下。
以下是Go语言链接MongoDB的示例代码:
```
package main
import (
"context"
"fmt"
"log"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
)
type Person struct {
Name string
Age int
City string
}
func main() {
// 设置客户端连接配置
clientOptions := options.Client().ApplyURI("mongodb://localhost:27017")
// 连接到MongoDB
client, err := mongo.Connect(context.Background(), clientOptions)
if err != nil {
log.Fatal(err)
}
// 检查连接
err = client.Ping(context.Background(), nil)
if err != nil {
log.Fatal(err)
}
fmt.Println("Connected to MongoDB!")
// 获取数据库和集合对象
peopleCollection := client.Database("test").Collection("people")
// 插入一条文档
person := Person{"Tim", 25, "New York"}
res, err := peopleCollection.InsertOne(context.Background(), person)
if err != nil {
log.Fatal(err)
}
fmt.Printf("Inserted document: %+v\n", res.InsertedID)
// 查询文档
var result Person
filter := bson.M{"name": "Tim"} // 筛选条件
err = peopleCollection.FindOne(context.Background(), filter).Decode(&result)
if err != nil {
log.Fatal(err)
}
fmt.Printf("Found document: %+v\n", result)
}
```
以上示例代码展示了如何使用Go语言连接MongoDB,并进行插入与查询操作。当然,在实际开发中还需要注意错误处理、断开连接等问题。