神奇的go语言(开始篇)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
从前接触脚本语言不多,但是自从遇到go之后,就开始慢慢喜欢上了这个脚本语言。go语言是google设计,主要用来从事web、服务器侧程序的开发,学习起点低。一般熟练掌握C、python的朋友花上几个小时就可以学会go语言。
a) 安装环境
鉴于个人主要使用linux进行工作,所以这里介绍的都是linux下的安装方式。
centos: sudo yum install golang
ubuntu: sudo apt-get install golang
b) 学习资源
本来学习go语言,最好的学习环境应该是官方网站,但是由于GFW的原因,访问上还是有一定的困难。所以,建议大家可以访问一下coolshell.cn网站,上面有go语言的内容,分别是个go语言(上)、go语言(下)。
c) 书籍
无论是亚马逊、当当还是京东上面,关于go语言的书籍不是很多。但是有两本我觉得还是不错的,一本是谢孟军的《go web编程》,另外一本是许式伟的《go 语言编程》。
d) 编译方法
如果需要生成执行文件,输入go build name.go, 其中name.go表示你需要编译的那个文件名,这时会有一个执行文件生成。
如果你需要立即看到效果,输入go run name.go即可。
e)范例
e.1 add.go
package mainimport "fmt"func add(a int, b int)(c int) {c = a + breturn c
}func main() {c := add(1 ,2)fmt.Println(c)}
直接输入go run add.go就可以打印效果了。
e.2 简单web服务器,可以用作webapi接口使用
package mainimport ("fmt""net/http"
)func sayHelloName(w http.ResponseWriter, r *http.Request) {fmt.Fprintf(w, "hello, world")
}func main() {http.HandleFunc("/", sayHelloName)http.ListenAndServe(":9090", nil)}
这时一个简单的web服务器,首先go run hello.go之后,打开os下的一个browser,输入http://127.0.0.1:9090,你就会在网页上看到web的打印了。
e.3 带有表单处理的web服务器
package mainimport ("fmt""html/template""net/http"
)func sayHelloName(w http.ResponseWriter, r* http.Request) {fmt.Fprintf(w, "hello, world")
}func login(w http.ResponseWriter, r* http.Request) {if r.Method == "GET" {t, _ := template.ParseFiles("login.gtpl");t.Execute(w, nil)} else {r.ParseForm()fmt.Println("username:", r.Form["username"])fmt.Println("password", r.Form["password"])}}func main() {http.HandleFunc("/", sayHelloName)http.HandleFunc("/login", login)http.ListenAndServe(":9090", nil)
}
上面给出的只是代码内容,你还需要一个login.gtpl模板文件,
<html>
<head>
<title> </title>
</head><body>
<form action="http://127.0.0.1:9090/login" method="post">user: <input type="text" name ="username">pass: <input type="password" name="password"><input type="submit" value="login">
</form>
</body>
</html>
运行go代码之后,试着在浏览器下输入127.0.0.1:9090和127.0.0.1:9090/login,你会有不同的惊喜。
神奇的go语言(开始篇)相关推荐
- C语言复习篇之数组与指针
C语言复习篇之数组与指针 学习了一段时间的嵌入式linux了,学习中有很多的东西需要总结,有经验有教训,我觉得把他写下来会更好,就当做是一种笔记的形式,记录学习中的点点滴滴,不仅仅自己可以经常复习,也 ...
- 【C/C++语言入门篇】-- 文件操作
[C/C++语言入门篇]-- 文件操作 收藏 此文于2010-03-09被推荐到CSDN首页 如何被推荐? 最近实在是太忙了,这篇整整就推迟了1个月了,实在是对不起.之前本打算这个模块就结束了,文件操 ...
- 自学c语言后的感受,C语言感触篇:十年之后重学C语言,岁月蹉跎,我听闻你始终一个人...
C语言感触篇:十年之后重学C语言,岁月蹉跎,我听闻你始终一个人 我只是C粉 1.1 多次自学,不得其法 距离大学时学习C语言已有十个年头了.印象里最深的就是当时一位海归老师,在讲课时流露出对K& ...
- 用Visual Studio Code Debug世界上最好的语言(Mac篇)
用Visual Studio Code Debug世界上最好的语言(Mac篇) 首先,你要有台Macbook Pro,接着才继续看这个教程. PS:Windows用户看这里用Visual Studio ...
- c语言 bool_程序的数据要放到哪里呢?|C语言第二篇
在C语言第一篇里我写到了编译器,在这里补充一个点,文本编辑器,编译器,IDE(集成开发环境)的区别. 文本编辑器是用作编写普通文字的应用软件,如window的记事本,atom,sublime,它常用来 ...
- c 语言比较三个字符串,C语言字符篇(三)字符串比较函数
C语言字符篇(三)字符串比较函数 #include int strcmp(const char *s1, const char *s2); 比较字符串s1和s2 int strncmp(cons ...
- 明解C语言入门篇_第12章_结构体
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
- 明解C语言入门篇_第9章_字符串的基本知识
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
- 明解C语言入门篇_第8章_动手编写各种程序吧
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
- 明解C语言入门篇_第10章_指针
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
最新文章
- 超全的设计模式简介(45种)
- IDEA项目搭建七——使用Feign简化消费者端操作
- 考研数学一历年真题小题(选择填空)整理
- @Configuration 和 @Bean
- Showdoc 搭建项目 API 文档系统
- 中文python笔记_Python学习笔记-基础篇
- Android官方开发文档Training系列课程中文版:添加ActionBar之ActionBar浮层效果
- TestCase / test plan / test case
- 7. memcache 细节
- bash脚本编程之十 函数
- AS 更新项目gradle方法
- Ubunt_配置_tftp(文件传输)
- 微信开通检测工具使用小诀窍
- 华为 荣耀 等手机解锁BootLoader
- 2022-2028年中国沉香行业发展模式分析及投资趋势预测报告
- 【仿美团点餐App】—— 首页(一)
- 我们正在努力; 具备人工智能的测试机器人
- 技术面常见问题(持续更新)
- SSMS18.9.1证书被颁发者直接吊销
- hadoop启动命令 start-all.sh提示Permission denied问题解决