go语言
Crazy__Lv
这个作者很懒,什么都没留下…
展开
-
go语言基本语法:基础类型、运算符、流程控制
一、第一个go语言程序//go语言以包作为管理单位//每个文件必须先声明包//程序必须有一个main包(重要)package mainimport "fmt"//导入包后,必须要使用//入口函数func main() { //左括号必须和函数名同行 //打印 //“hello.go”打印到屏幕 //调用函数,大部分都需要导入包 /*这是块注释*/ fmt.Println...原创 2018-09-18 21:19:54 · 227 阅读 · 0 评论 -
go语言基础语法:http编程
客户端------------请求包--------------->服务器 <---------响应包----------------- 1.http请求包格式package mainimport ( "fmt" "net")func main() {//监听,指明协议类型,ip地址,端口号,“:8000”=“127.0.0...原创 2018-10-30 15:03:45 · 335 阅读 · 0 评论 -
go语言基础语法:并发编程和计时器
一、并发编程1.创建goroutinefunc newTask() { for { fmt.Println("this is the newTask goroutine") time.Sleep(time.Second) }}func main() { go newTask()//创建一个新的协程,新建一个任务 for { fmt.Println("this is...原创 2018-10-24 21:33:36 · 581 阅读 · 0 评论 -
go语言应用:并发聊天服务器
思路:onlineMap保存在线用户 var onlineMap[string]ClientClient的结构:C chan string(存储需要发送给当前用户的信息),Name string,Addr stringmessage存放所有需要广播的消息1.主协程:处理用户连接1)将用户加到了map中2)告诉所有在线的用户,谁上线了(message<-某...原创 2018-10-29 22:07:59 · 331 阅读 · 0 评论 -
go语言应用:文件传输
1.发送方package mainimport ( "fmt" "io" "net" "os")func SendFile(path string, conn net.Conn) {//打开文件 f, err := os.Open(path) defer f.Close() if err != nil { fmt.Println("os.Open err=", ...原创 2018-10-29 21:13:52 · 285 阅读 · 0 评论 -
go语言:并发服务器
1.服务器package mainimport ( "fmt" "net" "strings")//处理用户请求func HandleConn(conn net.Conn) {//函数调用完毕,自动关闭conn defer conn.Close()//获取客户端的网络地址信息 addr := conn.RemoteAddr().String() fmt.Printl...原创 2018-10-29 20:45:22 · 372 阅读 · 0 评论 -
go语言基础语法:网络编程
1.服务器package mainimport ( "fmt" "net")func main() {//监听,指明协议,ip地址和端口号 listener, err := net.Listen("tcp", "127.0.0.1:8000") if err != nil { fmt.Println("err=", err) return } def...原创 2018-10-29 20:10:04 · 172 阅读 · 0 评论 -
go语言基础语法:异常处理,文本文件处理,JSON处理,文件操作
一、异常处理1.err接口的使用err1 := fmt.Errorf("%s", "this is normal error")fmt.Println("err1=", err1)err2 := errors.New("this is normal error,too")fmt.Println("err2=", err2)2.接口的应用func MyDiv(a, b i...原创 2018-10-23 18:02:19 · 275 阅读 · 0 评论 -
go语言基础语法:指针,数组,随机数,切片,map,结构体
一、指针1.指针的基本操作var a int = 10//每个变量有2层含义:变量的内容,变量的地址fmt.Printf("a=%d\n", a)//变量的内容fmt.Printf("&a=%v\n", &a)//变量的地址//保存某个变量的地址,需要指针类型,*int保存int的地址,**int保存*int的地址var p *int//声明指针类型变量p =...原创 2018-10-15 21:02:42 · 380 阅读 · 0 评论 -
go语言基础语法:面向对象编程
一、匿名组合1.匿名字段初始化type Person struct { name string sex byte age int}type Student struct { Person//只有类型,没有名字,匿名字段,继承了Person里面的成员 id int addr string}func main() {//顺序初始化 var s1 Studen...原创 2018-10-18 21:05:40 · 261 阅读 · 0 评论 -
go语言基本语法:函数、工程管理
一、函数(一)无参无返回值函数//无参无返回值函数的定义func MyFunc() { a := 666 fmt.Println("a=", a)}func main() { //无参无返回值函数的调用:函数名() MyFunc()}(二)普通参数列表//有参无返回值函数的定义,普通参数列表//定义函数时,在函数名后面()定义的参数叫形参//参数传递,只能由...原创 2018-09-28 17:03:22 · 154 阅读 · 0 评论 -
go语言应用:爬虫
1.爬虫思路:1)明确目标(要知道你准备在哪个范围或网站去搜索)2)爬(将所有的网站的内容全部爬下来)3)取(去掉对我们没用处的数据)4)处理数据(按照我们想要的方式存储和使用)2.百度贴吧爬虫package mainimport ( "fmt" "net/http" "os" "strconv")//爬取网页内容func HttpGet(url str...原创 2018-10-30 17:02:43 · 403 阅读 · 0 评论