package  runtime 
 
import  "unsafe"  
 
func  gogetenv(key  string ) string  { 
	env  := environ () 
	if  env  == nil  { 
		throw ("getenv before env init" ) 
	} 
	for  _ , s  := range  env  { 
		if  len (s ) > len (key ) && s [len (key )] == '='  && envKeyEqual (s [:len (key )], key ) { 
			return  s [len (key )+1 :] 
		} 
	} 
	return  ""  
} 
 
 
 
func  envKeyEqual(a , b  string ) bool  { 
	if  GOOS  == "windows"  {  
		for  i  := 0 ; i  < len (a ); i ++ { 
			ca , cb  := a [i ], b [i ] 
			if  ca  == cb  || lowerASCII (ca ) == lowerASCII (cb ) { 
				continue  
			} 
			return  false  
		} 
		return  true  
	} 
	return  a  == b  
} 
 
func  lowerASCII(c  byte ) byte  { 
	if  'A'  <= c  && c  <= 'Z'  { 
		return  c  + ('a'  - 'A' ) 
	} 
	return  c  
} 
 
var  _cgo_setenv unsafe .Pointer     
var  _cgo_unsetenv unsafe .Pointer   
 
 
func  setenv_c(k  string , v  string ) { 
	if  _cgo_setenv  == nil  { 
		return  
	} 
	arg  := [2 ]unsafe .Pointer {cstring (k ), cstring (v )} 
	asmcgocall (_cgo_setenv , unsafe .Pointer (&arg )) 
} 
 
 
func  unsetenv_c(k  string ) { 
	if  _cgo_unsetenv  == nil  { 
		return  
	} 
	arg  := [1 ]unsafe .Pointer {cstring (k )} 
	asmcgocall (_cgo_unsetenv , unsafe .Pointer (&arg )) 
} 
 
func  cstring(s  string ) unsafe .Pointer  { 
	p  := make ([]byte , len (s )+1 ) 
	copy (p , s ) 
	return  unsafe .Pointer (&p [0 ]) 
} 
  
The pages are generated with Golds   v0.6.7 . (GOOS=linux GOARCH=amd64)
Golds  is a Go 101  project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @Go100and1  (reachable from the left QR code) to get the latest news of Golds .