1. 引用说明

import "os/user"

user 包允许通过名称或 ID 查询用户帐户。

type User struct {Uid      string // 用户IDGid      string // 初级组IDUsername stringName     stringHomeDir  string
}

User 代表一个用户帐户。

  • posix 系统中 UidGid 字段分别包含代表 uidgid 的十进制数字;
  • windows 系统中 UidGid 包含字符串格式的安全标识符( SID );
  • Plan 9 系统中, UidGidUsernameName 字段是 /dev/user 的内容;
type Group struct {Gid  string // group IDName string // group name
}

Group 表示一组用户

  • POSIX 系统上, Gid 包含一个表示组 ID 的十进制数;

2. 相关函数

2.1 func Current

func Current() (*User, error)

返回当前用户。

2.2 func Lookup

func Lookup(username string) (*User, error)

根据用户名查询用户。

2.3 func LookupId

func LookupId(uid string) (*User, error)

根据用户 id 查询用户。

2.4 func LookupGroup

func LookupGroup(name string) (*Group, error)

根据用户组名称查询用户, 返回用户组 Group 的对象指针。

2.5 func LookupGroupId

func LookupGroupId(gid string) (*Group, error)

根据用户组 id 查询用户,返回用户组 Group 的对象指针。

3. 使用示例

package mainimport ("fmt""os/user"
)func main() {u, err := user.Current()if err != nil {fmt.Println("error")}fmt.Printf("u.Uid: %s, u.Gid: %s, u.Name: %s, u.HomeDir: %s, u.Username: %s\n",u.Uid, u.Gid, u.Name, u.HomeDir, u.Username)lu, err := user.Lookup("wohu")if err != nil {fmt.Println("error")}fmt.Printf("lu.Uid: %s, lu.Gid: %s, lu.Name: %s, lu.HomeDir: %s, lu.Username: %s\n",lu.Uid, lu.Gid, lu.Name, lu.HomeDir, lu.Username)li, err := user.LookupId("1000")if err != nil {fmt.Println("error")}fmt.Printf("li.Uid: %s, li.Gid: %s, li.Name: %s, li.HomeDir: %s, li.Username: %s\n",li.Uid, li.Gid, li.Name, li.HomeDir, li.Username)lg, err := user.LookupGroup("wohu")if err != nil {fmt.Println("error")}fmt.Printf("lg.Gid: %s, lg.Name: %s\n",lg.Gid, lg.Name)lgi, err := user.LookupGroupId("1000")if err != nil {fmt.Println("error")}fmt.Printf("lgi.Gid: %s, lgi.Name: %s\n",lgi.Gid, lgi.Name)}

Go 学习笔记(42)— Go 标准库之 os/user(获取Uid、Gid、Username、Name、HomeDir、查询用户、查询用户组)相关推荐

  1. python基础教程_学习笔记14:标准库:一些最爱——re

    标准库:一些最爱 re re模块包括对正則表達式的支持,由于以前系统学习过正則表達式,所以基础内容略过,直接看python对于正則表達式的支持. 正則表達式的学习,见<Mastering Reg ...

  2. python基础课程_学习笔记13:标准库:有些收藏夹——sys

    标准库:有些收藏夹 sys sys这个模块可以让你访问和python解释器联系紧密的变量和函数. sys模块中一些重要的函数和变量 函数/变量 描写叙述 argv 命令行參数,包含脚本名称 exit( ...

  3. Python学习笔记: Python 标准库概览二

    本文来自:入门指南 开胃菜参考:开胃菜 使用Python解释器:使用Python解释器 本文对Python的简介:Python 简介 Python流程介绍:深入Python 流程 Python数据结构 ...

  4. Python学习笔记: Python 标准库概览

    本文来自:入门指南 开胃菜参考:开胃菜 使用Python解释器:使用Python解释器 本文对Python的简介:Python 简介 Python流程介绍:深入Python 流程 Python数据结构 ...

  5. Go 学习笔记(44)— Go 标准库之 os(获取文件状态、获取/修改文件权限、创建、删除目录和文件、获取进程ID、设置获取环境变量)

    1. 概述 os 包提供了操作系统函数的不依赖平台的接口.失败的调用会返回错误值而非错误码.通常错误值里包含更多信息.例如,如果某个使用一个文件名的调用(如Open.Stat)失败了,打印错误时会包含 ...

  6. python标准库os.path中_Python零基础入门学习19:常用标准库之os.path子库

    注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. 本文阅读时间约为3~5分钟. os库是Python标准库,包含几百个函数.它能处理与系统相关的常用路径操作.进程管理.环境参数等 ...

  7. Python学习笔记17:标准库之数学相关(math包,random包)

    前面几节看得真心累.如今先来点简单easy理解的内容. 一 math包 math包主要处理数学相关的运算. 常数 math.e   # 自然常数e math.pi  # 圆周率pi 运算函数 math ...

  8. Python学习笔记14:标准库之信号量(signal包)

    signal包负责在Python程序内部处理信号.典型的操作包含预设信号处理函数,暂停并等待信号,以及定时发出SIGALRM等. 要注意,signal包主要是针对UNIX平台(比方Linux, MAC ...

  9. Python 标准库之 os (获取当前目录、读取/设置环境变量、重命名文件、运行shell命令、创建/删除/查看目录文件、判断目录/文件/存在、获取绝对路径、获取文件名、获取换行符、获取路径分隔符)

    1. os与sys模块的官方解释如下: os This module provides a portable way of using operating system dependent funct ...

  10. Javaweb学习笔记(JSP标准标签库)

    Javaweb学习笔记(JSP标准标签库) JSTL入门 安装和测试JSTL JSTL中的Core标签库 < c:out>标签 标签 标签 < c:catch>标签 标签 标签 ...

最新文章

  1. 已知3个坐标点xy画圆弧_这25张图片,让你彻底看懂25个复杂的数学公式!
  2. Java NIO之套接字通道
  3. [XJOI]最大K段和 题解
  4. 常用的函数式接口_Consumer接口练习_字符串拼接输出
  5. dev gridcontrol 根据数据获取索引_MySQL 索引分析除了 EXPLAIN 还有什么方法?
  6. Web安全开发注意事项
  7. java线程并发库之--线程同步工具Exchanger的使用
  8. 安卓手机可以改鸿蒙吗,华为鸿蒙2.0可以替代安卓吗,华为鸿蒙2.0优势在哪
  9. ReportViewer教程(15)-矩阵报表-6
  10. SQL Server游标+延迟执行简介
  11. 在AIX 5.3+HACMP 5.4以上环境安装10gR2 10.2.0.1 RAC CRS Clusterware必须先运行Patch 6718715中的rootpre.sh...
  12. numpy : numpy.random
  13. 迪杰斯特拉算法 php,最短路径算法
  14. python hello world
  15. 基础数据类型转换过程中注意事项
  16. html设置背景图片自动适应屏幕大小,css适应屏幕 CSS背景图片自适应屏幕大小
  17. 高等数学 - 两平面的夹角
  18. C++程序设计语言练习4.2 茴字的几种写法
  19. java实现空心三角形
  20. 计算机图形学第一次上机——中点线算法和中点圆算法

热门文章

  1. 算法基础(09)— 字符串常用操作
  2. 输入输出导入导出问题
  3. 解决 win10 pycurl安装出错 Command python setup.py egg_info failed with error code 10 编译安装包 安装万金油...
  4. 正则表达式中的\.表示什么意思
  5. 自然语言推理:使用注意力机制
  6. TensorRT-优化-原理
  7. 目标检测coco数据集点滴介绍
  8. 使用Docker快速搭建PHP开发环境
  9. 第三个Python程序:Python函数
  10. C++ 中 map 的用法