go语言基础
go语言基础示例
CrazyDemo
这个作者很懒,什么都没留下…
展开
-
Go语言之终端和文件读写
终端读写操作终端读写相关句柄常量os.Stdin :标准输入os.Stdout :标准输出os.Stderr :标准错误输出 带缓存区的读写func main() { fmt.Println("输入内容") inputReader := bufio.NewReader(os.Stdin) input, err := inputReader.ReadStri...原创 2019-11-28 11:42:45 · 361 阅读 · 0 评论 -
Go语言中使用redis
Redis数据类型redis是键值对的数据结库,有5中主要数据类型:字符串类型(string)、散列类型(hash)、列表类型(list)、集合类型(set)、有序集合类型(zset)基本命令KEYS * 获得当前数据库的所有键EXISTS key [key …] 判断键是否存在,返回个数,如果key有一样的也是叠加数DEL key [key …] 删除键,返回删除的个数...转载 2019-12-04 17:14:04 · 695 阅读 · 0 评论 -
Go语言之http编程
Go的http编程Go原生支持http,import (“net/http”)Go的http性能和nginx比较接近几行代码能够实现一个web服务http serverimport ( "fmt" "net/http")func hello(w http.ResponseWriter, r *http.Request) { fmt.Println("handle hell...原创 2019-12-06 11:07:13 · 246 阅读 · 0 评论 -
Go语言中使用mysql
一、mysql连接import ( _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx")database, err := sqlx.Open("mysql", "root:root@tcp(127.0.0.1:3306)/demo")// sqlx.Open()中的数据库连接串格式为:"用户名:密码@tcp(IP:端...原创 2019-12-06 16:02:31 · 175 阅读 · 0 评论 -
Go语言之基本数据类型
整型整型分为两大类:按长度分为:int8、int16、int32、int64对应的无符号整型:uint8、uint16、uint32、uint64类型 描述 uint8 无符号8位整型(0到255) uint16 无符号16位整型(0到65535) uint32 无符号32位整型(0到4294967295) uint64 无符号64位整型(0到...转载 2019-10-22 16:14:58 · 130 阅读 · 0 评论 -
Go语言基础之变量和常量
标识符Go语言由数字、字母和下划线组成,只能以字符和_开头。关键字break default func interface select case defer go map struct chan else goto package switch const fallthrough i...转载 2019-10-22 16:15:58 · 133 阅读 · 0 评论 -
Go语言基础之网络编程
Go语言基础之网络编程socket编程之TCP通信Tcp服务端// tcp/server/main.go// TCP server端// 处理函数func process(conn net.Conn) { defer conn.Close() // 关闭连接 for { reader := bufio.NewReader(conn) var buf [12...转载 2019-10-23 09:59:47 · 282 阅读 · 0 评论 -
Go语言基础之并发编程
并行与并发并行:并行是指两者同时执行,比如赛跑,两个人都在不停的往前跑;(资源够用,比如三个线程,四核的CPU )并发:并发是指资源有限的情况下,两者交替轮流使用资源,比如一段路(单核CPU资源)同时只能过一个人,A走一段后,让给B,B用完继续给A ,交替使用,目的是提高效率。goroutineGo语言通过goroutine实现并发。goroutine类似于线程,属于用户态的...转载 2019-10-23 09:59:27 · 304 阅读 · 0 评论 -
Go语言基础之反射
变量的内在机制Go语言中的变量是分为两部分的:类型信息:预先定义好的元信息。 值信息:程序运行过程中可动态变化的。反射-reflectGo程序在运行期间使用reflect包访问程序的反射信息。在Go语言的反射机制中,任何接口的值都是有一个具体类型和具体类型的值两部分组成。对应内置的reflect包的reflect.Tpye和reflect.Value两部分,并且可以使用r...转载 2019-10-23 09:57:39 · 330 阅读 · 0 评论 -
Go语言基础之接口
接口接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节。接口类型在Go语言中接口是一种类型,一种抽象的类型。接口做的事情就像是定义一个协议(规则),只要一台机器有洗衣服和甩干的功能,我就称它为洗衣机。不关心属性(数据),只关心行为(方法)接口的定义Go语言提倡面向接口编程。每个接口由数个方法组成。type 接...转载 2019-10-23 09:57:16 · 203 阅读 · 0 评论 -
Go语言基础之结构体
类型别名和自定义类型自定义类型Go语言使用type来自定义类型,自定义类型是定义了一个全新的类型type NewInt int类型别名使用type和=来进行类型别名定义type TypeAlisa = Type自定义类型和类型别名区别//NewInt 基于int的自定义类型type NewInt int//MyInt 为类型别名typ...转载 2019-10-23 09:56:37 · 382 阅读 · 0 评论 -
Go语言基础之函数
函数Go语言中支持函数、匿名函数和闭包函数定义func 函数名(参数)(返回值){ 函数体}func intSum(x, y int) int { return x + y}func helloWord() { fmt.Println("hello word")}函数调用func main() { c := intSum(10, 2...转载 2019-10-22 16:16:38 · 149 阅读 · 0 评论 -
Go语言基础之map
mapmap是一种无序的基于key-value的数据结构,Go中map为引用类型,必须初始化后才可以使用。map定义map[keyType]valueTypemap类型的变量初始值为nil,需要使用make()函数来分配内存。make(map[keyType]valueType,[cap])# cap为容量,参数不是必须有,但应该为其设置一个初始大小ma...转载 2019-10-22 16:16:26 · 152 阅读 · 0 评论 -
Go语言基础之指针
Go语言中的指针Go语言中的函数传参都是值拷贝,当想修改某个变量时,就使用指针来操作。Go中的指针&(取地址),*(根据地址取值)指针地址和类型每个变量在运行时都有一个内存地址。Go中使用&变量名,对变量进行取地址操作。Go中的值类型(int、float、bool、string、array、struct),都有对应的指针类型如*int、*float、*bool、*...转载 2019-10-22 16:16:54 · 132 阅读 · 0 评论 -
Go语言基础之切片
切片切片是一个拥有相同类型元素的可变长度的序列。他是基于数组类型做的一层封装。支持自动扩容。切片是一个引用类型,他内部保护地址、长度和容量。其中容量必须要比长度大。切片定义var name[]T// 例子var a[]stringvar b[]int{} //声明并初始化var c[]bool{false,true}// 其中a==nil b和c都!=...转载 2019-10-22 16:16:14 · 243 阅读 · 0 评论 -
Go语言基础之数组
Array(数组)数组是同一种数据类型的集合。在Go中,数组从声明就确定,使用时可以修改数组的成员,但数组大小不可变。数组定义var 数组变量名[数组数量] Tvar a[3]int数组是值类型数组为值类型,赋值和传参会复制整个数组,改变副本的值不影响原值。数组初始化方法一func main() { var testArray [3]in...转载 2019-10-22 16:15:42 · 104 阅读 · 0 评论 -
Go语言基础之流程控制
Go语言最常用的是if和for,而switch和goto主要是简洁代码、降低重复代码而生的结构、属于拓展类流程控制if else(分支结构)// 基本写法func ifDemo1() { score := 65 if score >= 90 { fmt.Println("A") } else if score > 75 { fmt.Println("...转载 2019-10-22 16:15:28 · 147 阅读 · 0 评论 -
Go语言之运算符
运算符Go中有 1.算数运算符 2.关系运算符 3.逻辑运算符 4.位运算符 5.赋值运算符一、算数运算符+、-、*、/、% 分别为加、减、成、除、取余二、关系运算符==、!=、>、>=、<、<= 分别为判断值是否相等、不相等、大于、大于等于、小于、小于等于三、逻辑运算符&&、||、! 分别为且、...转载 2019-10-22 16:15:15 · 604 阅读 · 0 评论 -
Go语言搭建环境
下载地址Go官网下载地址:https://golang.org/dl/Go官方镜像站(推荐):https://golang.google.cn/dl/在线编译地址https://play.golang.org/在线常用包查询https://golang.org/pkg/安装注意事项环境变量用户变量GOPATH 是存放编译文件的地方...转载 2019-10-22 16:14:39 · 179 阅读 · 0 评论