go:运行第一个go语言程序

1.如何创建go语言编辑界面

2.案例一实现简单打印"hello worlg":

Go 复制代码
package main 
 
import "fmt" 
 
func main() { 
    for i := 0; i < 10; { 
        if i < 0 { 
            continue 
        } 
        fmt.Println("hello world") 
        i++ 
    } 
} 

运行结果:

Go 复制代码
PS D:\demo2> go mod init DEMO2
go: creating new go.mod: module DEMO2
PS D:\demo2> go build
no Go files in D:\demo2
PS D:\demo2> go build
PS D:\demo2> go run main.go
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world

3.案例二实现字符转化为二维码并渲染到web页面

Go 复制代码
 
package main 
 
import ( 
	"fmt" 
	"image/png" 
	"log" 
	"net/http" 
 
	"github.com/skip2/go-qrcode"  
) 
 
// 处理二维码生成和页面渲染 
func generateQRCodeHandler(w http.ResponseWriter, r *http.Request) { 
	if r.Method == http.MethodPost { 
		// 获取表单中输入的文本 
		text := r.FormValue("text") 
		if text == "" { 
			http.Error(w, "请输入要转换为二维码的文本", http.StatusBadRequest) 
			return 
		} 
 
		// 生成二维码图片 
		qr, err := qrcode.New(text, qrcode.Medium) 
		if err!= nil { 
			http.Error(w, "生成二维码时出错", http.StatusInternalServerError) 
			return 
		} 
 
		// 设置响应头,指定返回的是 PNG 图片 
		w.Header().Set("Content-Type", "image/png") 
		// 将二维码图片编码为 PNG 格式并写入响应 
		if err := png.Encode(w, qr.Image(256)); err!= nil { 
			http.Error(w, "写入二维码图片时出错", http.StatusInternalServerError) 
			return 
		} 
		return 
	} 
 
	// 显示 HTML 表单页面 
	fmt.Fprint(w, ` 
	<!DOCTYPE html> 
	<html lang="en"> 
	<head> 
		<meta charset="UTF-8"> 
		<meta name="viewport" content="width=device-width, initial-scale=1.0"> 
		<title>生成二维码</title> 
	</head> 
	<body> 
		<h1>请输入要转换为二维码的文本</h1> 
		<form method="post"> 
			<input type="text" name="text" placeholder="输入文本"> 
			<button type="submit">生成二维码</button> 
		</form> 
	</body> 
	</html> 
	`) 
} 
 
func main() { 
	// 注册处理函数 
	http.HandleFunc("/", generateQRCodeHandler) 
 
	// 启动服务器,监听 8080 端口 
	log.Println("Server started at http://localhost:8080") 
	log.Fatal(http.ListenAndServe(":8080", nil)) 
} 

运行结果:

相关推荐
懂点Tech3 小时前
ctfshow MISC入门图片篇(信息附加):misc41解题思路
开发语言·python
金銀銅鐵4 小时前
[Java] 用 GUI 展示 EnumSet 增减元素时的内部变化(上)
java·后端·ai编程
catchadmin4 小时前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
开发语言·php
念何架构之路5 小时前
go-grpc设计思想
开发语言·后端·golang
system_error_x5 小时前
SpringBoot 集成 Thymeleaf 简洁入门
java·spring boot·后端
酷炫码神5 小时前
Day 10|Pinia 状态管理:把散落在各组件的数据,收进一个全局仓库
android·开发语言·javascript
microrain5 小时前
SagooIoT 的缓存换后端只改一行配置,文件后端连 Redis 都不需要
物联网·缓存·golang·sagooiot
Elastic 中国社区官方博客6 小时前
我们如何通过 70 多个拉取请求,将 OpenTelemetry Java agent 迁移到 invokedynamic
java·大数据·开发语言·elasticsearch·搜索引擎·全文检索·es
tyn1886 小时前
记录本地安装nacos服务的方法及异常
java·开发语言
步行cgn7 小时前
Spring MVC 视图机制的核心接口与类
java·开发语言·后端·spring·mvc