Golang初级-"hello world!"

Noya ·
更新时间:2024-11-13
· 814 次阅读

Go 趋势  完全使用Go开发的项目

               容器:docker、kubernetes

               web server:caddy

               db:cockroachDb(new sql db)

      2.部分使用Go开发的项目 

                MongoDB/Couchbase

                 Dropbox

                 Uber

                 Google

设计 类型检查:编译时 运行环境:编译成机器代码直接运行 编程范式:面向接口、函数式编程、并发编程

         并发编程:采用CSP(communication sequential process)模型,CSP的特点是不需要锁,不需要callback。

                           编发编程包括分布式和并行计算

安装 https://studygolang.com/dl 下载适合自己机器的golang版本 Golang 在 Mac Vscode 中代码自动补全和自动导入包:使用快捷键:command+shift+P:go:install/updatetools,将所有17个插件都勾选上,点击ok即开始安装。然后就可以使用了。 hello world server(读取url的参数)
package main            
import (                //引入
	"fmt"
	"net/http"
)
func main() {
    //param  值 指针
	http.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
		fmt.Fprintf(writer, "

hello world %s!

", request.FormValue("name")) }) //监听8888端口 阻塞监听 http.ListenAndServe(":8888", nil) }
       hello world 并发版本(goroutine)
package main
import (
	"fmt"
	// "time"
)
//开启goroutine 开启chan类型数据通道,通过for循环来让5000个goroutine来竞争输出到主函数中的管道中
func main() {
	ch := make(chan string)
	for i := 0; i < 5000; i++ {
		//当加入go关键字后 starts a goroutine(go rui tin)
		go printHelloWorld(i, ch)
	}
	for {
		msg := <-ch
		fmt.Println(msg)
	}
	//延时5毫秒
	// time.Sleep(time.Millisecond)
}
func printHelloWorld(i int, ch chan string) {
	ch <- fmt.Sprintf("hello world form goroutine %d!\n", i)
}

go sort函数排序
package main
import (
	"fmt"
	"sort"
)
func main() {
	//create a slice of int 比数组更加灵活可以动态添加删除等等操作
	arr := []int{3, 6, 2, 1, 9, 10, 8}
	sort.Ints(arr)
	for _, v := range arr {
		fmt.Println(v)
	}
}

作者:Li_fengxiao



hello world golang

需要 登录 后方可回复, 如果你还没有账号请 注册新账号