当前位置:网站首页>go学习记录二(Window)

go学习记录二(Window)

2022-06-23 03:52:00 韧小钊

go学习20220523


go环境安装(window)


  • 选择windows环境版本,下载地址同Linux
    在这里插入图片描述
  • 点击安装,指定安装目录
    在这里插入图片描述
  • 配置环境变量
    win10安装完,自动生成了环境变量,如果没有,则需手动添加
    在这里插入图片描述
  • 验证环境
    cmd–>go veriosn
    在这里插入图片描述

开发工具安装


  • 下载VScode开发工具
    下载地址
  • 安装go插件
    在这里插入图片描述
  • 设置go参数
    打开设置(ctrl+,)–>搜索golang–>点击json编辑
    在这里插入图片描述
    "go.goroot": "D:\\Go\\bin",
    "go.gopath":"F:\\worker_go"

在这里插入图片描述

  • 安装相关依赖组件
go env -w GOPROXY=https://goproxy.cn
go install -v golang.org/x/tools/[email protected]

在这里插入图片描述

  • 编写代码测试
package main

import "fmt"

func main() {
    
    fmt.Println("Hello, World!")
}

在这里插入图片描述

条件循环语句


  • if语句
package main

import "fmt"

func main() {
    
   /* 定义局部变量 */
   var a int = 66

   /* 判断条件 */
   if a > 90 {
    
       /* if 条件语句为 true 执行 */
       if a == 100 {
    
          /* if 条件语句为 true 执行 */
          fmt.Println("完美" );
       } else {
    
		  fmt.Println("优秀" );
	   }
   } else if (a>80 && a<=90) {
    
       fmt.Println("棒" );
   } else {
    
	   fmt.Println("其它" );
   }
}

修改变量值,进行测试
在这里插入图片描述

  • switch
    fallthrough会继续执行下一条case,且不会去判断其表达式是否为true
    在这里插入图片描述
  • for
    if加上括号可以执行,和java写法一样,for不行,加上括号会报错
    在这里插入图片描述

语言结构体


和Java很像啊

package main

import "fmt"

type Car struct {
    
   brand string
   speed float64
   color string
}

func main() {
    
   /* 不就是Java的构造函数创建对象嘛*/
   fmt.Println(Car{
    "奔驰",100.88,"黑色"})

   fmt.Println(Car{
    brand:"奔驰",speed:100.88})

   /* Java的创建对象,属性set值*/
   var Benchi Car        /* 声明 Benchi 为 Car 类型 */
   Benchi.brand="大奔"
   Benchi.speed=111.11
   Benchi.color="red"
   fmt.Println(Benchi.brand)
   fmt.Println(Benchi.speed)
   fmt.Println(Benchi.color)
}

在这里插入图片描述

map


  • map[key type]value type
package main

import "fmt"

func main() {
    
        /* 创建map */
        var testMap  map[string]string
		/* 初始化map */
		testMap = make(map[string]string)

		testMap["Name"]="Tom"
		testMap["face"]="big"
		for m := range testMap {
    
			fmt.Println(m, "值为", testMap [m])
		}
		for k,v := range testMap {
    
			fmt.Println(k, "=", v)
		}
		
}

在这里插入图片描述

  • 多类型value,类型指定
package main

import "fmt"

func main() {
    
        /* 创建map */
        var testMap  map[string]interface{
    }
		/* 初始化map */
		testMap = make(map[string]interface{
    })

		testMap["Name"]="Tom"
		testMap["age"]=99
		testMap["high"]=177.8
		for k,v := range testMap {
    
			fmt.Println(k, "=", v)
		}
		
}

在这里插入图片描述

数组切片


package main

import "fmt"

func main() {
    
	/*数组,长度固定*/
	shuzu := [3]int{
    1,2,3} 
	fmt.Println("数组===========================")
	for j := 0; j < 3; j++ {
    
		fmt.Println(shuzu[j])
	}
    /*切片,动态数组,可以动态添加元素*/
	var shuzu1 = make([]int,3)//指定切片初始长度(数组长度)
	shuzu1 = []int{
    1,2,3} 
	fmt.Println("切片===========================")
	shuzu1 = append(shuzu1,4)//追加元素
	shuzu1 = append(shuzu1,5,6,7)
	for j := 0; j < len(shuzu1); j++ {
    
		fmt.Println(shuzu1[j])
	}
}

在这里插入图片描述

原网站

版权声明
本文为[韧小钊]所创,转载请带上原文链接,感谢
https://renxiaozhao.blog.csdn.net/article/details/124951757