近日小生迷上了golang,用了一个礼拜的闲暇时间,学习了一下golang 的数据结构及并发goroutine。贴一下学习成果,不要见笑,并上传了附件。
1:环境搭建
下载go sdk 并安装
下载地址:http://dl.iteye.com/topics/download/522115e7-d053-3267-8d3e-efce8fb21ce9
安装后,配置好环境变量和GOPATH
我的mac 环境变量设置供参考:
export GO_HOME=/usr/local/go export GO_ROOT=$GO_HOME export GOPATH=/Users/xiaosheng/go_workspace export PATH="$GO_HOME/bin:$PATH"
2:贴一下工程结构,比较传统的,呵呵。
bin:存放编译后的可执行文件
pkg:编译生成的文件
src: 源代码
3:开发环境
1) 我用的intellij idea,贴一下idea上golang的环境配置
安装 go-lang-pugin-org ,安装方式如下
plugins>browse repositories>manage repositories
点击+ 号 输入 https://plugins.jetbrains.com/plugins/alpha/5047
点击check,check通过后 点击ok,回到plugins search go,
勾选go 并安装,重启
2) 设置go sdk
file>project struct>sdks 添加sdk
4:go 工程创建
因为GOPATH已经指定了go 工程目录,idea中直接import 那个目录就ok了
5:工程目录结构
6:上nb的代码hello world
import "fmt"
func SayHello() {
fmt.Println("hello world")
}
测试用例
import (
"xiaosheng/demos"
)
func main() {
demos.SayHello()
}
7:学习demos
http://dl.iteye.com/topics/download/57600994-5c4c-3ade-ab38-3892d318f6d3
相关推荐
本篇文章将深入探讨Go语言中的一些基础数据结构封装,包括树(Tree)和位图(Bitmap),以及它们在实际编程中的应用。 一、树数据结构 1. 树的基本概念:树是一种非线性的数据结构,由节点(Vertex)和边(Edge)...
本篇将深入探讨Go语言中常见的数据结构和算法实现,帮助你提升Go开发能力。 1. 数组与切片: 数组在Go中是固定大小的,一旦定义后长度不可变。切片则是一种轻量级的数据结构,它在底层基于数组,但允许动态扩展。...
本篇文章将深入探讨Golang中的一些主要数据结构及其实现。 1. 数组 数组是固定大小的序列,其中每个元素具有相同的类型。在Golang中,数组的长度是其类型的一部分,这意味着数组一旦创建,长度就无法改变。定义一个...
本篇文章将详细解析一个基于Golang编写的初级网络爬虫的第一版代码,旨在帮助初学者理解Golang爬虫的基本结构和核心概念。 首先,我们关注的是“爬虫”这一概念。网络爬虫是一种自动浏览互联网并抓取网页内容的程序...
`epoll`利用内核与用户空间的共享数据结构来减少上下文切换,提高了系统在高并发环境下的性能。本篇文章将详细探讨如何使用Golang语言在Linux、MacOS和Windows平台上实现`epoll`。 首先,我们来理解`epoll`的工作...
题目中提到的“判断字符串中字符是否全都不同”的问题,则是考察应聘者对算法和数据结构知识的应用能力,特别是对于字符串处理和ASCII字符的理解。ASCII字符集包含了128个字符,其中包括了数字、大小写字母、标点...
本篇文章将深入探讨一个基于Go语言的爬虫项目,名为"golang-crawler",通过分析其源码,来学习和理解Go语言在爬虫开发中的应用。 一、项目结构 在解压后的文件夹`golang-crawler-master`中,我们可以看到项目的...
本篇文章将深入探讨在Golang中实现的数据结构和算法,旨在帮助开发者提升对Golang的理解,同时提高编程技能。 首先,我们来看看数据结构。数据结构是组织、管理、存储和检索数据的方式。在Golang中,常见的数据结构...
本篇文章将深入探讨如何使用Golang的标准库`archive/zip`和`compress/gzip`来实现文件夹的压缩与解压功能。 首先,我们来看如何使用`archive/zip`库进行文件夹的压缩。`archive/zip`提供了对ZIP文件格式的支持,...
在LeetCode的Golang解题中,你将了解到如何利用Go的切片、映射、通道等数据结构,以及goroutine和select语句进行并发编程。笔记可能还会深入讲解Go的错误处理机制,以及如何通过Go的内存模型优化算法性能。 最后,...
本篇将深度解析Google资深工程师分享的Golang单任务版爬虫源码,帮助读者深入理解Go语言在爬虫开发中的应用。 1. **Golang基础知识** - **Go语言特性**:Go语言是由Google设计的,其主要特点包括静态类型、垃圾...
#### 四、数据结构 ##### 4.1 数组 - **定义与初始化**:使用 `[length]type` 定义数组,例如:`var arr [5]int`。 - **索引访问**:可以通过索引访问数组元素,例如:`arr[0]`。 - **遍历**:可以使用 `for` 循环...
- **切片**: 动态大小的数据结构,提供了更灵活的操作方式。 - **字典**: 键值对集合,用于存储非顺序数据。 - **结构体**: 用户自定义的数据类型,可以包含不同类型的数据成员。 - **JSON处理**: 解释了如何使用Go...
在本篇GoLang学习笔记中,我们将探讨Go语言的基础知识,包括类型、变量、常量、自定义类型、基本类型以及复合类型。 1. 类型与变量 在Go语言中,使用`var`关键字来定义变量,并为其分配零值。例如: ```go var x ...
### Go语言学习之认识Golang #### 一、引言 Go语言,也称为Golang,是由Google设计的一种静态类型的编程语言。它以其简洁的语法、高效的并发模型以及丰富的标准库而...希望这篇文章能帮助你更好地理解并应用Go语言。
1. **文档模型**:在MongoDB中,数据以JSON格式存储,便于处理复杂的数据结构。 2. **副本集和分片**:NoSQL数据库通常支持复制和分片,以提高可用性和横向扩展性。Golang客户端会提供相应的API进行配置和管理。 3...
在我们的系统中,可以使用Redis的list数据结构来实现消息队列。当客户端发送消息时,将其推入list;消费者则从list中弹出消息进行处理。Redis还支持发布/订阅模式,可用于广播消息。 **登录和退出同步:** 登录同步...
在Go中实现层级时间轮,首先需要定义基本的数据结构。通常,这包括一个或多个时间轮节点(表示时间槽),以及一个或多个链表(用于存储待触发的事件)。每个时间轮节点都有一个关联的时间间隔,比如一级时间轮可能每...
本篇文章介绍了一个专门为Golang设计的ORM库——`zhgo/db`。该库支持多种数据库类型,包括MySQL、MariaDB、PostgreSQL和SQLite3等,并提供了简洁易用的API来执行常见的CRUD(创建、读取、更新、删除)操作。 #### ...