
Go语言
LAN·兰
这个作者很懒,什么都没留下…
展开
-
go语言函数定义
函数定义func 函数名(参数)(返回值){ 函数体}//参数包含参数变量及其类型。//返回值包含返回值变量及其类型,也可以只写返回类型。多个返回值需用()包裹。//函数名如果是大写字母开头则可以被其他包调用,如果小写,只能在本包内使用。package mainimport "fmt"//方式一func sum(a,b int)int{ return a+b}func ...原创 2020-01-19 17:51:40 · 608 阅读 · 1 评论 -
go语言统计汉字出现次数
统计字符串中汉字出现次数,需要引入unicode包package mainimport ( "fmt" "unicode")func main(){ str := "hello,你好" var count int for _,w := range str{ if unicode.Is(unicode.Han,w){ count ++ } } fmt...原创 2020-01-19 17:47:25 · 1069 阅读 · 0 评论 -
go语言词频统计,统计一个字符串中单词出现次数
package mainimport ( "fmt" "strings")func main(){ str := "how do you do" //定义并初始化map count := make(map[string]int) //切分字符串 str2 := strings.Split(str," ") for _,v := range str2{ count[v] ...原创 2020-01-19 12:26:17 · 2128 阅读 · 0 评论 -
go语言map函数
map是一种无序的基于key-value的数据结构。是应用类型,必须初始化才能使用。语法格式map[KeyType]ValueTypefunc main(){ var info map[string]string //map需要初始化,否则info此时为nil info = make(map[string]string, 10) info["name"] = "wl" info[...原创 2020-01-19 10:51:34 · 552 阅读 · 0 评论 -
go语言指针
go语言中的函数传参都是值拷贝,如果想修改某个变量,可以创建一个指向该变量地址的指针变量,传递数据使用指针,无需拷贝数据,类型指针不能进行偏移和运算,&表示取地址,*表示根据地址取值。package mainimport "fmt"func main(){ num := 10 p := &num //获取变量的地址 fmt.Println(p) fmt.Printl...原创 2020-01-17 10:47:13 · 244 阅读 · 1 评论 -
go语言copy函数
copy函数使用package mainimport "fmt"func main(){ city := []string{"北京","上海","广州"} city2 := make([]string,3,3) fmt.Println(city2) //copy函数 copy(city2,city) fmt.Println(city2)}//输出[ ][北京 上海 ...原创 2020-01-16 15:54:39 · 398 阅读 · 0 评论 -
go语言append函数
append函数可以动态为go语言切片添加元素,每个切片会指向一个底层数组,这个数组能容纳一定数量的元素,当底层数组不能容纳新元素时,切片会自动扩容。此时的切片指向的底层数组就会更换。package mainimport "fmt"func main(){ city := []string{"北京","上海","广州"} fmt.Printf("%v,len:%d,cap:%d,ptr:...原创 2020-01-15 16:24:28 · 963 阅读 · 0 评论 -
go语言切片
切片(Slice)是一个拥有相同类型元素的可变长度的序列,他是基于数组类型做的一层封装,非常灵活,支持自动扩容。切片是一个引用类型,他的内容结构包含地址、长度、容量。用于快速操作一块数据集合。//切片定义,name:变量,T:元素类型var name[]Tfunc main(){ //定义切片并初始化 var num[]int num = []int{1,2,3,4,5} f...原创 2020-01-14 17:14:49 · 200 阅读 · 0 评论 -
go语言数组
数组是存放元素的容器,必须指定存放元素的类型和长度,数组的长度是数组类型的一部分数组的定义:var 数组变量名 [元素数量]var num [3]int数组的初始化package mainimport "fmt"func main(){ // 1.初始化方式1 num1 := [3]int{1,2,3} fmt.Println(num1) // 初始化方式2,根据初始...原创 2020-01-13 16:27:05 · 175 阅读 · 0 评论 -
go语言运算符总结
go语言的运算符1.算数运算符运算符描述+相加-相减*相乘/相除%取余2.关系运算符运算符描述==检查两个值是否相等,如果相等返回true否则返回false!=检查两个值是否不相等,如果不相等返回true否则返回false>检查左边的值是否大于右边的值,如果是返回true否则返回false...原创 2020-01-10 10:40:46 · 260 阅读 · 0 评论 -
go语言switch使用
在使用大量else if判断时,可以使用switch简化大量的判断package mainimport "fmt"func main(){ score := 90 switch{ case score >= 80 && score <= 90: fmt.Println("优秀!") case score >= 60 && sco...原创 2020-01-09 15:44:12 · 235 阅读 · 0 评论 -
go语言查看环境变量 go env
通过go env 命令查看go环境变量GO111MODULE=""GOARCH="amd64"GOBIN=""GOCACHE="/Users/wl/Library/Caches/go-build"GOENV="/Users/wl/Library/Application Support/go/env"GOEXE=""GOFLAGS=""GOHOSTARCH="amd64"GOHO...原创 2020-01-08 17:13:44 · 1866 阅读 · 0 评论 -
go语言使用for循环打印乘法表
go语言使用for循环打印乘法表package mainimport "fmt"func main(){ for i := 1; i <= 9; i++{ for j := 1; j <= i; j++{ fmt.Printf("%d x %d = %d ",j,i,j*i) } fmt.Println() }}//结果如下1 x 1 = 1 ...原创 2020-01-08 17:02:40 · 448 阅读 · 0 评论 -
go语言流程控制--for循环,for range循环使用
在go语言中只有for循环1.for循环语法1for 初始语句;条件表达式;结束语句{ 循环体语句}package mainimport "fmt"func main(){ for i := 1; i < 10; i++{ fmt.Println(i) }}2.for循环语法2for ;条件表达式;结束语句{ 循环体语句}package maini...原创 2020-01-08 16:56:57 · 437 阅读 · 0 评论 -
go语言流程控制--if判断用法
go语言流程控制-if判断1.if–else语法结构if 布尔表达式 { /* 在布尔表达式为 true 时执行 */} else { /* 在布尔表达式为 false 时执行 */}package mainimport "fmt"func main(){ age := 19 if age >= 18{ fmt.Println("已成年!") }else...原创 2020-01-08 16:34:20 · 756 阅读 · 0 评论 -
GO语言项目目录结构
GO语言项目目录结构原创 2020-01-03 17:30:37 · 833 阅读 · 0 评论 -
Mac下搭建Go开发环境
1、首先去官网下载go的sdkgo下载地址:https://golang.google.cn/dl/mac系统只有一个64位:点击现在即可2、安装sdk安装目录建议,Mac一般放在用户目录下go_dev/go下。(1)打来terminal,在用户目录下创建一个文件夹go_devmkdir go_dev(2)将下载的镜像移动到go_dev文件夹下mv Downloads/go1....原创 2019-12-16 16:09:54 · 2359 阅读 · 0 评论