mac安装Golang开发环境及入门

news2024/11/24 10:02:29

目录

一、Mac brew 安装go环境

1.1 安装步骤

1.2 设置GOPATH 及环境变量

1.3 编写第一个go程序

二、快速入门

1.1 快速入门需求

1.2 go学习(自用)


一、Mac brew 安装go环境

1.1 安装步骤

1)终端输入,也可以指定下载go版本

brew install go

2)查看golang当前版本

go version

3)查看当前golang环境 执行

go env

1.2 设置GOPATH 及环境变量

1)GOPATH 是工作目录,工作空间目录 go_project 就是一个目录,其中包含三个子目录:

  • src 目录包含Go的源文件,它们被组织成包(每个目录都对应一个包),
  • pkg 目录包含包对象,
  • bin 目录包含可执行命令。

如下图:

​2) 终端输入 vim .zshrc 添加:

GOPATH 后面加你自己的工作空间,这里是我自己建立的go_project

export GOPATH="/Users/mima6ge0/Documents/yanhan_practice/go_project"

export PATH = $PATH:$GOPATH/bin

执行 source ~/.zshrc 生效,使用go env查看是否修改成功

1.3 编写第一个go程序

1)新建hellow.go文件

package main

import "fmt"

func main() {
    fmt.Println("hello, world")
}

2)进入文件所在目录,执行go run hellow.go,成功,如下图

二、快速入门

1.1 快速入门需求

  • 具备1种后端编程语言开发经验(C/C++/Java/Python/PHP)
  • 等具备基本的网络编程能力和并发思想
  • 了解计算机基本体系结构
  • 了解Linux基础知识

1.2 go学习(自用)

1.2.1 go基础程序

package main //程序的包名
// main函数
//多个文件导入
import (
	"fmt"
	"time"
)

func main() { //函数的"{"必须和函数名在一行,换到下一行就是语法错误,强制代码风格
	fmt.Println("hellow Go!")
	//go语言不需要";",可有可无
	time.Sleep(10 * time.Second)
}

1.2.2 变量声明

package main
/*
变量的声明方法
 */
import "fmt"
//全局变量,冒等方法不支持全局,其他的都可以
var A int = 100
func main() {
	//声明变量默认值是0
	var a int
	fmt.Println("a = ", a)
	fmt.Printf("type of a = %T\n", a)
	//声明变量,初始化
	var b int = 100
	fmt.Println("b = ", b)
	fmt.Printf("type of v = %T\n", b)
	//初始化可以省去变量类型,通过值去匹配变量的树枝类型
	var c = 100
	fmt.Println("c = ", c)
	fmt.Printf("type of c = %T\n", c)
	//字符串
	var d string = "dasda"
	fmt.Println("d = ", d)
	fmt.Printf("type of d = %T\n", d)
	//最常用方法:冒等,省略var,直接自动匹配,":="初始化加赋值,函数内部使用
	e := 3213.432
	fmt.Println("e = ", e)
	fmt.Printf("type of e = %T\n", e)

	fmt.Println("A = ", A)
	fmt.Printf("type of A = %T\n", A)

	//声明多个变量
	var x, y int = 100, 100
	fmt.Println("x = ", x, ", y = ", y)
	var m, n = 100, "88090"
	n = "kjuhku"
	fmt.Println("m = ", m, ", n = ", n)
	//多行多变量声明
	var (
		xx int = 121
		zz bool = true
	)
	fmt.Println("xx = ", xx, ", zz = ", zz)
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/747266.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SPSSAU方差分析+python

准备数据 将数据格式调整为以下格式: jupyter处理过程 #读取数据 import numpy as np import pandas as pd# 创建一个空的DataFrame t1 pd.DataFrame() t2 pd.DataFrame() t3 pd.DataFrame() T1pd.read_excel(./数据/抑郁_T1.xlsx)T1.columnsT1.iloc[0] T1T1…

模板类与继承

模板类与继承 模板类继承普通类普通类继承模板类的实例化版本。普通类继承模板类模板类继承模板类模板类继承模板参数给出的基类 模板类继承普通类 基类 派生类 测试函数; 普通类继承模板类的实例化版本。 模板基类 普通类继承模板基类的实例化版本: 普通…

PROFINET转DeviceNet网关devicenet通讯模块

远创智控YC-DNT-PN这款神器,连接PROFINET和DeviceNet网络,让两边数据轻松传输。 这个网关不仅从ETHERNET/IP和DEVICENET一侧读写数据,还可以将缓冲区数据交换,这样就可以在两个网络之间愉快地传递数据了!而且&#xff…

云计算的学习(三)

三、云计算中的网络基础知识 3.1虚拟化中网络的架构 a.虚拟化中网络的架构 二层交换机作为接入交换机使用,三层交换机可以作为汇聚交换机或核心交换机,在抛开网络安全设备时,路由器直接连接在互联网上。 b.广播和单播 物理服务器内部主要…

【单片机】MSP430单片机,msp430f5529,DHT11 温湿度检测仪,上限报警,单击双击判定,OLED

文章目录 功能接线示意图效果图原理 功能 硬件 IIC OLED 0.96寸 无源蜂鸣器 低电平触发 DHT11 温湿度传感器 板子上的2个按键 板子上的2个灯 功能: 1 显示温湿度 2 按键单击双击识别 3 按键修改温湿度,双击选择某一个设置项目,单击进行加或…

Python(五):print函数详解

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

Redis 高频面试题 2023 最新版

Redis 高频面试题 2023 最新版 文章目录 Redis 高频面试题 2023 最新版一、Redis缓存相关1. 什么是缓存穿透?如何解决2. 什么是缓存击穿?如何解决 一、Redis缓存相关 1. 什么是缓存穿透?如何解决 是什么 缓存穿透就是根据某条件查询一个数据…

C++STL:顺序容器之forward_list

文章目录 1. 概述2. 成员函数和使用forward_list容器相关的函数 3. forward_list 容器的创建 1. 概述 forward_list 是 C 11 新添加的一类容器,其底层实现和 list 容器一样,采用的也是链表结构,只不过 forward_list 使用的是单链表&#xff…

解决ubuntu cuda版本nvcc -V和nvidia-smi不一致问题

在使用nvcc -V和nvidia-smi查看cuda版本时不一致: nvcc -V版本是10.1 nvidia-smi的版本是12.2 上面如果能显示版本,所以是已经有驱动,首先要删除之前的驱动: 1、执行以下命令,删除旧版本的驱动 sudo apt-get purge …

数据库用户管理

一 目录 一 新建用户 二 用户名的改变 三 删除用户 四 修改用户密码root用户 五 忘记mysql的密码时候怎么办 六 数据库的权限赋予 ​编辑 七 查询用户名的权限 八 权限的撤销 九总结 新建用户 CREATE USER 用户名来源地址 [IDENTIFIED BY [PASSWORD] 密码]; 只是一个用…

node中表单验证捕获第三方库

1.安装 npm install escook/express-joi npm install joi17.4.0 2.使用 2.1创建一个schema文件夹 说明:用于表单规则集,设置表单的规划的 // 导入定义验证的包 const joi require("joi");// 定义用户名和密码的验证规则 const username j…

数据结构(王卓版)——初识数据结构

一、数据结构讲什么: 程序数据结构算法 数据结构的基础以及数据结构的应用方向。 数据、数据元素、数据项、数据对象 数据结构 逻辑结构的种类 存储结构种类 主要学习顺序和链式存储结构。 有时间可以了解,不用重点学。 数据类型: 抽象数据类…

win11利用start11实现全屏菜单,磁贴配置

Win11磁贴配置 最近电脑还是升级到 win11 了。我之前采用的美化方案是桌面上的图标全部移到 win10 开始菜单里的全屏菜单上,用磁贴贴一排。每次要访问文件的时候都去开始菜单里找,而不是放在桌面上,这样桌面也可以空出来欣赏壁纸。参考配置链…

数据库压力测试方法概述

一、前言 在前面的压力测试过程中,主要关注的是对接口以及服务器硬件性能进行压力测试,评估请求接口和硬件性能对服务的影响。但是对于多数Web应用来说,整个系统的瓶颈在于数据库。 原因很简单:Web应用中的其他因素,…

MSP430F249 Proteus仿真智能刷卡计时计费水表系统 -0070

MSP430F249 Proteus仿真智能刷卡计时计费水表系统 -0070 Proteus仿真小实验: MSP430F249 Proteus仿真智能刷卡计时计费水表系统 -0070 功能: Protues版本:8. 9 程序编写:IAR 7.10 硬件组成:MSP430F249 单片机 …

auc的计算方法

方法一 用指示函数表示上式中正样本预测值大于负样本预测值的正负样本对,则得到 p表示预测得分。 在给出的例子中,包含有2个正样本(A, B)和3个负样本(C, D, E),因此一共有6个(2*3)正负样本对,即公式中分母为6。 接下来计算公式…

Rogue DHCP Server攻击(仿冒DHCP Server攻击)

目录 事件原理 DHCP 仿冒攻击 防护方法 事件原理 攻击原理:攻击者仿冒DHCP Server向客户端分配错误的IP地址以及错误的网关等信息,导致用户无法正常的访问网络。漏洞分析:DHCP客户端收到DHCP Server的DHCP消息之后,无法区分这些DHCP消息是来自仿冒的DHCP Server还是…

【NLP】BERT和原理揭示

一、说明 BERT(来自transformer的双向编码器表示)是Google AI Language研究人员最近发表的一篇论文。它通过在各种NLP任务中展示最先进的结果,在机器学习社区引起了轰动,包括问答(SQuAD v1.1),自…

PostgreSQL如何设置主键自增?

本文主题:采用Navicat 连接pgSQL库,如何创建表,如何设置主键自增? 1. 如何通过Navicat 连接pgSQL创建表 详细创建过程可以参考天翼云文章: 参考链接:https://www.ctyun.cn/document/10000047/10030641 2…